1.5 KiB
1.5 KiB
#领域/Linux
#复盘/5
一句话描述
[xargs 使用说明____]
核心示例
xargs 接收管道 / 标准输入的文本内容,把它转换成后续命令的「参数列表」,然后执行这个命令
✅ 基本用法
find . -name "*.log" | xargs rm -rf
✅ 生产环境用法
find [路径] [条件] -print0 | xargs -0 -I {} 目标命令 {} 固定参数
✅ 默认无占位符 vs. 自定义占位符
# 默认无占位符
ls *.txt | xargs rm -rf
# ls 输出:a.txt b.txt
# xargs 拼接后执行:rm -rf a.txt b.txt
# -I {} 指定占位符
find . -name "*.txt" | xargs -I {} mv {} /tmp/bak/{}.bak
# 命令A | xargs -I {} 目标命令 {} 固定参数
✅ 生产环境:兼容带空格/特殊字符的文件名
# user info.log 或 data|test.csv
# 默认空格会被当成参数分隔符
find [路径] [条件] -print0 | xargs -0 目标命令
# find -print0:输出时使用空字符\0作为文件名的分隔符
# xargs -0:接收时使用空字符\0作为分隔符
参数说明
- 默认无占位符,自动拼接参数列表->追加至末尾->执行命令,(默认将空格、制表符、换行符作为参数分隔符)
- -I {},指定占位符
- -print0 | xargs -0:指定\0为文件名分隔符
| 选项 | 说明 |
|---|---|
| -p | 执行前交互式确认 |
| -t | 执行前打印要执行的命令 |
| -n N | 每次只传递 N 个参数执行命令 |