Ich habe ein Problem mit awk im Terminal. Ich brauche viele Dateien in einer Gruppe von aktuellem Verzeichnis zu einem anderen zu bewegen, und ich habe die Liste der benötigten Dateien in einer Textdatei, wie:awk print overwrite strings
filename.txt
file1
file2
file3
...
ich in der Regel digit :
paste filename.txt | awk '{print "mv "$1" ../dir/"}' | sh
und es ausführt:
mv file1 ../dir/
mv file2 ../dir/
mv file3 ../dir/
es funktioniert in der Regel, aber jetzt ist der Befehl ändert sein Verhalten und awk überschreibt die letzte Zeichenfolge ../dir/
auf dem ersten wieder anfahren will, den Druckbefehl von der Ausgangsposition, zu erhalten:
../dire1 ../dir/
../dire2 ../dir/
../dire3 ../dir/
und natürlich kann sie nicht ausgeführt werden. Was ist passiert? Wie löse ich es?