Es gibt mehrere Verzeichnisse, die eine Datei mit dem gleichen Namen enthalten:Kopieren von Dateien aus mehreren Verzeichnissen in einem einzigen Zielverzeichnis
direct_afaap/file.txt
direct_fgrdw/file.txt
direct_sardf/file.txt
...
Jetzt habe ich sie in ein anderes Verzeichnis extrahieren möchten, direct_new
und mit einem anderen Dateinamen wie:
[mylinux~ ]$ ls direct_new/
file_1.txt file_2.txt file_3.txt
Wie kann ich das tun? BTW
, wenn ich will einen Teil des Namens in ursprünglichen Verzeichnis in den Dateinamen setzen, wie:
[mylinux~ ]$ ls direct_new/
file_afaap.txt file_fgrdw.txt file_sardf.txt
Was kann ich tun?
downvoter, könnten Sie erklären? Vielleicht kann ich den Code verbessern ... –
Sie müssen 'basename' und' dirname' nicht verwenden, was teuer ist. Außerdem ist das Analysieren von 'ls' keine gute Idee, nur globbing würde gut funktionieren. Außerdem muss kein Suffix extrahiert werden, da es fest ist ('.txt'). Bitte sehen Sie meine [Antwort] (https://stackoverflow.com/a/44479825/6862601). – codeforester