【发布时间】:2026-02-17 11:50:01
【问题描述】:
我正在写一个脚本
脚本的一个目标是在多个.yml 文件中递归地在匹配后附加一个新的代码行,并带有foo。
# Append new line after match in multiple files with sed
## sed -i -se "s/\foo/bar/g" *.yml
grep -rl foo * .| xargs sed -i -e "s/\foo/a bar/g" *.yml
我预计在每次与 foo 匹配后,因为 /a,bar 将被添加到所有 @987654324 的新行中@ 文件。
我得到 意外 Sed 输出:
sed: can't read *.yml: No such file or directory
详情:
- 操作系统:Debian GNU/Linux 10
- sed --version: sed (GNU sed) 4.7
【问题讨论】:
-
你为什么要使用
xargs,还要给sed一个文件名参数?