我有一个名为 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 也是如此。
有谁知道为什么 sed delete 行在变量中使用echo时有效,但在使用cat时无效?