【发布时间】:2017-07-14 05:28:38
【问题描述】:
假设我在当前目录中有 4 个扩展名为 .txt 的文件,我只想从一个文件中替换一个模式。条件是我们不知道文件的名称,并且只能在一个文件中进行替换。其他文件不应受到影响。 示例:
用户/主页>ls -lart *.txt
a1.txt b1.txt c1.txt d1.txt
所有这些文件中都有一个单词“Day”,我想只在一个文件中将其替换为“Night”而不影响其他文件。我该怎么做?
我在下面尝试过,但它替换了所有 4 个文件中的模式。
找到 . -type f -name "*.txt"|xargs sed 's/Day/Night/g'
【问题讨论】:
-
你要替换哪个(4个文件中)的单词?
-
任何一个,但我们不知道文件名。
-
如果您不知道要更改的位置,您如何知道更改是在哪个文件中进行的。
-
你的用例是什么...问题应该被正确地框定。请参考...stackoverflow.com/help/how-to-ask
-
我已经更新了问题,请检查