复制文本文件中包含的文件(MacOS)



我有一个包含. m4b文件名(包括源路径)的文本文件。文件名包含空格和引号,如:

/文件/源/安德Game.m4b

/文件/源/安德Shadow.m4b

/file/source/Speaker for the Dead.m4b

我正在尝试使用xargs命令将文件内容管道到相同的目的地cp audiobooks:

cat /path/to/file/filenames.txt | xargs cp {} /destination/folder/ ;我第一次运行这个命令时,它返回xargs:未终止的引号

然后在文件名/file/source/"Ender's Game.m4b"然后运行命令,它返回:cp:/file/source/Ender's Game。M4b不是目录

使用zsh和macOS Ventura 13.0.1

克服引号痛苦的一种可能方法是将换行符转换为ascii空,然后使用xargs -0:

cat /path/to/file/filenames.txt | tr 'n' '00' | xargs -0 -I{} cp {} /destination/folder/