假设我有一个像这样的管道命令:
$ ls -t|tail -n 10
现在,如果我想删除上述命令生成的所有文件,如果文件中有空格,则它将不起作用:
$ rm `ls -t|tail -n 10`
# assuming the first response is 'The File Name', I get:
rm: cannot remove ‘The’: No such file or directory
rm: cannot remove ‘File’: No such file or directory
rm: cannot remove ‘Name’: No such file or directory
在将文件名发送到 rm 之前,如何引用文件名?
答案1
尝试一下这个:
输出带空格的文件的命令| 当 IFS=读取 -r 文件时 做 rm "$文件" 完毕
输入将在换行符处拆分,因此名称中带有换行符的文件将不起作用。但使用空格引用名称则不会出现问题。