xargs命令实例
2013-03-12xargs更象一个筛选器,将符合管道传递过来的内容进行处理,这是一个极度高效的方法。xargs reads items from the standard input.
1、查询包含string的文件
find . -name '*.html'| xargs grep string
2、删除符合条件的文件
ls|xargs -i rm -rf {}
find . -name '*.log' -mtime +30| xargs rm -rf
find . -name '*.log' -mtime +30 -exec rm -rf {} \;
注意"{} \;"是一起用的,可以用"{} +"代替。
find . -name "*.log" -exec ls -l {} +
3、-I{}替换串replace-str
cat ip.txt | xargs -I {} echo {}/24
-i[replace-str]可以替代-Ireplace-str
cat ip.txt | xargs -i{} echo {}
cat ip.txt | xargs -iIP echo IP
在远程服务器列表的执行命令
cat ip.txt | xargs -I{} ssh -p322 root@{} hostname
4、批量文件改名
增加字符
ls -1 | xargs -t -i mv {} {}.bak
删减字符
#!/bin/sh
for i in `ls ABCD*`
do
n=${i#"ABCD"}
mv $i $n
done
或者
ls -1 ABCD* |sed 's/ABCD//'|xargs -t -i mv ABCD{} {}
删除A字符
#!/bin/sh
for file in `ls *A.wav`;do
n=`echo $file| sed 's/A//g'`
/bin/mv $file $n
done
5、批量删除包含code.html的行
find ./ -name "*.html" -exec grep code.html '{}' \; |xargs sed -i '/code.html/d'
find ./ -name "*.html" -exec grep code.html '{}' \; -exec sed -i '/code.html/d' {} \;
6、批量替换
find ./ -name "*.html" -exec grep .com '{}' \; -exec sed -i 's/.com/.cn/g' {} \;
find ./ -name "*.html" -exec grep .com '{}' \; |xargs sed -i 's/.com/.cn/g'
7、单行显示所有用户名
cut -d: -f1 < /etc/passwd | sort | xargs echo
awk '{print $1}' /etc/passwd | xargs echo
8、--verbose, -t
cat a
one two
three four
cat a |xargs
cat a |xargs --verbose
cat a |xargs --verbose --max-args=2
9、终止所有java进程
pgrep java|xargs kill -9
相关日志
- nagios4.3.4升级4.4.1
- centos7配置网络nmcli无法使用
- Linux下怎么查看16进制文件
- shell中获得当前用户名
- nagios 4.08配置步骤
- awk和sed实例
- linux查看当前使用的shell
- wget同步FTP
- date -d
- CentOS配置vsftpd
- iperf3测带宽质量
- "tar --exclude"
- base64
- tar – 复制目录及文件
- shell Cli Shortcuts
- Windows快捷键
- windows sc command
- Displays the UUID of a computer
- history记录添加时间戳
- dstat
- getent
- lastb命令
- set -o vi
- Linpack and Flops
- grep几个小技巧
- Linux Swap ,add ,delete and move
- Sed的常用命令语法 (6)
- linux命令行自动补齐 (6)
- wildcard"*"号的用法 (1)
- !$
- 回车符和换行符区别 (1)
- 监控工具nmon (1)
- awk to print all row to one line (8)
- reg命令给windows添加环境变量 (2)
- 统计文件行数的命令 (1)
- linux历史命令 (1)
- linux命令行TAB自动补全功能 (9)
- tar命令实例 (1)
- linux常用命令 (6)
- expr命令实例 (1)
- cut命令实例 (1)
- Linux下chkconfig命令详解 (1)
- vi或sed的批量替换 (1)
- grep 用正则表达式实例 (2)
- linux add swap by file (1)
- sed-grep-awk (1)