2017-05-24 6 views
1

Ich habe ein sehr einfaches Umbenennen Skript Ich bin in OSX-Terminal ausgeführt. Es sieht so aus:Einfügen Verzögerung zwischen den Zeilen der Bash

Ich habe normalerweise mehrere hundert Zeilen umbenennen Code wie dieser für alle Dateien, die ich umbenennen muss.

Allerdings denke ich, dass die Netzwerksicherheit bei der Arbeit mit dem Code unordentlich ist, weil es die Dateinamen zufällig aufbocken wird. Ich denke, es unterbricht den Code, der Code ist so einfach, dass ich mir keinen anderen Grund vorstellen kann, warum es nicht funktionieren würde.

Ich möchte versuchen, eine 1s Verzögerung zwischen jeder Zeile hinzufügen, aber wie? Ich habe gelesen, dass etwas wie Schlaf 1s funktionieren könnte, aber muss ich das zwischen jeder einzelnen Zeile hinzufügen? Das wird Kopfschmerzen sein, wenn das der Fall ist. Wenn ja, gibt es einen anderen Weg?

UPDATE: Ich habe eine Verzögerung funktioniert aber immer noch die gleichen Probleme wie zuvor. Dies ist, was Klemme zurückgibt:

mv -nv /Volumes/COMMON-LIC-PHOTO/DATA/James/Rename_Test/1247136_alternate1.tif /Volumes/COMMON-LIC-PHOTO/DATA/James/Rename_Test/1247136_alternate1A.tif 
mv -nv /Volumes/COMMON-LIC-PHOTO/DATA/James/Rename_Test/1247136_alternate2.tif /Volumes/COMMON-LIC-PHOTO/DATA/James/Rename_Test/1247136_alternate2A.tif 
mv -nv /Volumes/COMMON-LIC-PHOTO/DATA/James/Rename_Test/1247136_alternate3.tif /Volumes/COMMON-LIC-PHOTO/DATA/James/Remv -nvest/1247136_alternate3A.tif 
mv -nv /Volumes/COMMON-LIC-PHOTO/DATA/James/Rename_Test/1247136_alternate4.tif /Volumes/COMMON-LIC-PHOTO/DATA/James/Remv -nTest/1247136_alternate4A.tif 
mv -nv /Volumes/COMMON-LIC-PHOTO/DATA/James/Rename_Test/1247136_lifestyle.tif /Volumes/COMMON-LIC-PHOTO/DATA/James/Renmv -nv /Volume36_lifestyleA.tif 
mv -nv /Volumes/COMMON-LIC-PHOTO/DATA/James/Rename_Test/1247136_standard.tif /Volumes/COMMON-LIC-PHOTO/DATA/James/Rename_Test/1247136_standardA.tifç^C^C^C^C^C 

Es gibt alle Arten von Müll in den Umbenennungs Teil werfen. Es ist mit den Dateinamen und den Verzeichnisnamen unordentlich und ich kann nicht herausfinden, warum.

+0

Es gibt Tools, die Dateien für Sie automatisch umbenennen, wenn Sie können sagen, was die Regel ist, was gewechselt werden muss .... dh alle Buchstaben in Großbuchstaben sein müssen und alle Unterstrichen entfernt werden müssen –

+0

ich. Ich wette, dass die "aufgebockten" Einträge Leerzeichen in ihren Namen haben Sie müssen solche wie "mv/path/2/file"/pfad w spaces/2/file "' angeben. Viel Glück. – shellter

Antwort

0

das folgende Skript liest nur in der Datei von Befehlen und fügt einen Schlaf nach jedem Befehl

while read curr_line; do 

    echo curr_line $curr_line 

    return_msg=$($curr_line ) # execute cmd 

    # may want to do error checking on value of error variable $? and return_msg 

    sleep 1 

done < ./input_file_of_original_cmds.txt # read in that file 
+0

Das ist nicht der Return-Code, sondern was auch immer der Befehl zum Standard-out macht. Der Rückkehrcode ist in $ ?. – Jack

0

Wenn Sie alle diese mv Befehle auszuführen planen von Terminal Sie ein Bash-Alias ​​machen können:

alias mvd='sleep 2s && mv' 

in Bezug auf ein Skript, da Skripte nicht verstehen, bash alias (zumindest leicht) Sie können eine ähnliche Funktion am Anfang des Skriptes gebaut:

function mvd { sleep 2s && mv "[email protected]"; } 

Sie müssen nur den neuen Befehl mvd anstelle von mv verwenden.

Tipp: Im Falle eines Alias ​​können Sie auch Ihren Alias ​​mv (gleicher Name wie der Befehl) nennen.

0

Wenn Sie bereits ein Skript, das Pfad fest einprogrammiert hat (zB sieht das Skript wie:

mv -nv /path1 /path2 
mv -nv /path3 /path4 
... 

Dann wahrscheinlich die einfachste Sache, eine Funktion an der Spitze des Skripts zu definieren, zu tun wäre, durch Zugabe von :

mv() { command mv "[email protected]"; sleep 1; } 
+0

Danke! Das scheint zu funktionieren, aber leider hat die Verzögerung nicht verhindert, dass die Umbenennung aufgebockt wurde. Ich habe meinem ursprünglichen Beitrag Beispiele hinzugefügt. Möglicherweise muss ich dazu ein neues Thema erstellen, weil ich nicht weiß, was ich jetzt tun soll. –

Verwandte Themen