OS X:列出并删除空格的文件
我想在OS X中执行此操作:
ls -rt | xargs rm -i
但是, rm
令人窒息的事实是一些文件有空格。
我提到OS X,因为BSD的ls
版本没有-Q
标志。
有没有办法做到这一点,而不必使用find -print0
?
尝试这个
while read -u 3
do
rm -i "$REPLY"
done 3< <(ls -rt)
[sgeorge@sgeorge-ld staCK]$ touch "file name"{1..5}.txt
[sgeorge@sgeorge-ld staCK]$ ls -1
file name1.txt
file name2.txt
file name3.txt
file name4.txt
file name5.txt
[sgeorge@sgeorge-ld staCK]$ ls -rt | xargs -I{} rm -v {}
removed `file name5.txt'
removed `file name4.txt'
removed `file name3.txt'
removed `file name2.txt'
removed `file name1.txt'
要么
[sgeorge@sgeorge-ld staCK]$ ls -1
file a
file b
file c
file d
[sgeorge@sgeorge-ld staCK]$ OLDIFS=$IFS; IFS=$'n'; for i in `ls -1` ; do rm -i $i ; done ; IFS=$OLDIFS
rm: remove regular empty file `file a'? y
rm: remove regular empty file `file b'? y
rm: remove regular empty file `file c'? y
rm: remove regular empty file `file d'? y
如果你想删除所有文件, rm -i *
什么问题?
不要分析ls