【发布时间】:2026-01-10 16:45:01
【问题描述】:
我有一个名为 test-domain 的文件,其内容包含 100.am 行。
当我这样做时,100.am 的行会从测试域文件中删除,正如预期的那样:
for x in $(echo 100.am); do sed -i "/$x/d" test-domain; done
但是,如果我不是 echo 100.am,而是从名为不需要的行的文件中读取每一行,则它不起作用。
for x in $(cat unwanted-lines); do sed -i "/$x/d" test-domain; done
即使不需要的行的唯一内容是一行,其内容也是准确的 100.am。
如果您在变量中使用 echo,有谁知道为什么 sed delete 行有效,但如果您使用 cat 则无效?
【问题讨论】: