Menu
  • Hem
  • Dokument
  • Om Mig
Geosupportsystem

Bearbeta många filer med skript

Posted on 2013-08-28

Det här är del 3 av mina inlägg om skript i Linux för att göra om gpxfiler till shape. Har du inte läst de två tidigare så bör du börja med dessa.

Då har vi tittat på hur man gör om gpxfiler till shape och hur man får skriptet att upprepa sig tills man säger ifrån. Nu skall vi titta på hur man gör om man har en mängd filer som man vill bearbeta på en gång, och inte en i taget. Rent tekniskt så kommer filerna att bearbetas en åt gången, men för användaren så begränsas handhavandet till att peka ut en katalog där filerna finns.

Principen är den samma som tidigare och utgångspunkten är skriptet från i måndags.

Till att börja med så modifieras texten som användaren möter till att ge instruktioner att ange en katalog och inte en fil.

echo -n ”Skriv in sökväg till (eller dra-och-släpp) katalog med gpx-filer >”

Eftersom variabeln ”Filnamn” nu är en katalog så måste ett ”wildcard” läggas till för att passa alla gpxfiler. Därför modifieras den efterföljande raden.

Filnamn=${Filnamn//\’/}”/*.gpx”

Före if-satsen som kontrollerar om loggfilarna redan finns så läggs en loop till som i variabeln ”Fil” listar alla gpxfiler på den angivna sökvägen. Man kan även lägga till en rad för att skriva ut vilken fil skriptet för tillfället kör.

for Fil in $Filnamn;
do
echo ”Bearbetar: $Fil”
if [ -f $Testa ]

Variabeln ”Filnamn” kan tyckas missvisande, men då det är ett arv från det tidigare skriptet så låter jag det vara så länge. Du kan ändra namnet till något som är mer passande om du vill, bara du tänker på att ändra på alla platser.

Eftersom namnet på gpxfilen nu lagras i variabeln ”Fil” och inte ”Filnamn” så måste detta ändras i de båda ”ogr2ogr” kommandona.

ogr2ogr -update -append $Target $Filnamn ”tracks” ”waypoints” $DatumFix $Prj
…
ogr2ogr $Target $Filnamn ”tracks” ”waypoints” $DatumFix $Prj

För att avsluta skriptet så stängs loopen genom att ersätta ”clear” med ”done” och ”echo” kommandot ändras så att det blir mer passande.

echo ”Filerna ovan har lagrats på sökvägen $Target”

Jag väljer att radera ”clear” ovan för att jag inte vill rensa listan med gpxfiler direkt utan vänta de angivna sekunderna så att användaren har en chans att se resultatet. Om du tycker att listan visas för kort tid kan du ersätta ”sleep” kommandot med ”read s” som väntar på att du skall mata in något i den godtyckliga variabeln ”s” innan det avslutas.

Såja, då var det klart. När du nu kör skriptet och ”drar-och-släpper” en katalog, eller skriver in sökvägen till en katalog så kommer alla gpxfiler att bearbetas och sparas i loggfilerna på den i skriptet angivna sökvägen. Det är bara gpxfiler som behandlas, alla andra filer och kataloger hoppar skriptet över (med hjälp av angivet ”wildcard” i början). Vill du även söka i underkataloger så måste skriptet modifieras ytterligare.

Det var allt om skript för den här gången.

Lämna ett svar Avbryt svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

Translate with Google

GBR In English
GER Auf Deutch
FRA En Français
ESP En Español
Swedish is a hard language for a machine to translate. Nuance and detail will likely be lost.
     

Bok om QGIS på Svenska

Bok

Beställ Boken/E-bok genom att klicka på bilden (även förhandsgranskning).

Senaste kommentarer

  • Lene Fischer om Skapa bildmask för WebODM
  • Gabriel om Punktmoln i QGIS 3.18
  • klakar om Punktmoln i QGIS 3.18
  • Gabriel om Punktmoln i QGIS 3.18
  • Hector Garrido om QGIS LTR vs LTR

Arkiv

Prenumerera på Geosupportsystem

Skriv in namn och epost för att prenumerera på meddelanden från denna blogg.
Loading

geosupport

YouTube video to frames. Processed in OpenDroneMap YouTube video to frames. Processed in OpenDroneMap and visualized in QGIS 3.17.
Japp! Dubbelbeställde TVÅ gånger. En annan mode Japp! Dubbelbeställde TVÅ gånger. En annan modell levererades idag.
Ooops. Tryckte nog för många gånger på bestäl Ooops. Tryckte nog för många gånger på beställ-knappen...
Ladda mer...

Meta

  • Logga in
  • Flöde för inlägg
  • Flöde för kommentarer
  • WordPress.org
©2021 Geosupportsystem | WordPress Theme by Superbthemes.com