我有一些以前缀开头的文件,我将在此上下文中调用p_
。假设我有三个文件,前缀名为p_1
,p_2
,p_3
。如何通过像GNU ls这样的文件列表将这些文件列入一个以空格分隔的字符串?
示例:
$ ls | grep p_
p_1 <\
p_2 < --- Remove '\n' after the file name and replace with space
p_3 </
# So that we get...
$ ls [.. solution goes here ..]
p_1 p_2 p_3
现在说,如果我们想rm
所有带前缀的文件,我们可以使用:
$ rm $(ls [.. solution goes here ..])
与...相同:
$ rm p_1 p_2 p_3
答案 0 :(得分:4)
使用| xargs echo
:
$ rm $(ls | grep p_ | xargs echo)
或更直接地,| xargs rm
:
$ ls | grep p_ | xargs rm
甚至更直接,因为参数可以由任何空格分隔,其中包括换行符:
$ rm $(ls | grep p_)
我个人喜欢用globbing:
$ rm p_*
答案 1 :(得分:2)
ls p_*
你也可以
rm p_*
答案 2 :(得分:0)
直接转发rm p_*
应该可以删除所有以p_
开头的文件。
要显示以p_
开头的文件,您可以使用ls p_*
。您还可以使用ls -l
或-a
p_*
选项查看这些文件的其他详细信息。