Sha*_*e B 4 command-line bash copy
我有一个文件file1.txt位于包含图像文件位置的试用文件夹中。我想阅读列表,并将图像文件复制到一个新文件夹test_folder。
file1.txt 中的条目如下所示:
./trial/data/image1.jpg
./trial/data/image2.jpg
Run Code Online (Sandbox Code Playgroud)
等等。
我尝试使用类似的问题来解决问题:Copy/move a list of files to a new directory
试图
while read file; do cp "$file" /trial/test_folder; done < /trial/file1.txt
Run Code Online (Sandbox Code Playgroud)
我收到错误“bash:/trial/file1.txt:没有这样的文件或目录”。任何帮助都会很棒!
你得到的错误是因为你正在阅读/trial/file1.txt而不是./trial/file1.txt. 这意味着 shell 正在尝试trial在根目录 ( /)下查找名为的目录。如果你想要一个相对于你当前目录的路径,你可以使用:
while read file; do cp "$file" trial/test_folder; done < trial/file1.txt
Run Code Online (Sandbox Code Playgroud)
或者,
while read file; do cp "$file" ./trial/test_folder; done < ./trial/file1.txt
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用完整路径:
while read file; do cp "$file" /home/shane/trial/test_folder; done < /home/shane/trial/file1.txt
Run Code Online (Sandbox Code Playgroud)