# ls grep rm

使用 xargs 给其他命令传递参数的一个过滤器

ls | grep 'Con' | xargs cat
# ll不支持, 因为ll不是单纯的搜索文件
# ll=ls -lh
1
2
3
  • -t 表示先打印命令,然后再执行。
  • -i 或者是-I,这得看linux支持了,将xargs的每项名称,一般是一行一行赋值给 {},可以用 {} 代替。
$ ls | grep 'Con' | xargs -t ls
ls Config.json
Config.json
1
2
3

# xargs

# -I

xargs 的一个 选项 -I ,使用 -I 指定一个替换字符串{},这个字符串在 xargs 扩展时会被替换掉,当 -I 与 xargs 结合使用

# 移动文件
$ mdfind "picgo" | grep 'dmg' | xargs -I file mv file ~/iCloud云盘(归档)
# 删除文件
# 这里的意思是将查找出的结果当作一个文件,并且别名为file
mdfind 'postman' | grep '.old' | xargs -I file rm file
1
2
3
4
5