OS X:列出并删除带空格的文件

Jia*_*ian 7 macos bash

我想在OS X中这样做:

ls -rt | xargs rm -i
Run Code Online (Sandbox Code Playgroud)

然而,rm令人窒息的事实是一些文件有空格.

我提到OS X因为BSD的版本ls没有-Q标志.

有没有办法这样做而不必使用find -print0

Suk*_*uku 5

[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'
Run Code Online (Sandbox Code Playgroud)

或者

[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
Run Code Online (Sandbox Code Playgroud)


小智 0

尝试这个

while read -u 3
do
  rm -i "$REPLY"
done 3< <(ls -rt)
Run Code Online (Sandbox Code Playgroud)