我想我应该使用sed
,但无法正确地将其记下来。
我有一个装满文本文件的文件夹。它们的构造都相同,带有变量列表,例如
NAME=John
AGE=30
CODE=xyz
我需要查看所有文件,并将变量(如 CODE)的值修改为某个值。因此,file1.txt - 更改CODE=xyz
为CODE=123
file2.txt - 更改CODE=foo
为CODE=123
我对其所做的更改对于所有文件都将相同。
这是sed
最好的吗?
答案1
这应该能够改变这些值:
find /path/to/foler/ -type f -exec sed 's/CODE=.../CODE=123/' {} \;
运行上述代码不会改变任何内容,但可以让您看到发生了哪些变化。要使其更改这些值,请添加标志-i
:
find /path/to/folder/ -type f -exec sed -i 's/CODE=.../CODE=123/' {} \;
备份也是可能的,但是考虑到规模,谈论这个可能不是一个好主意。
信息:
...
: 仅代表三个字母或字符,因此.
将代表一个-type f
:我们仅寻找文件-i
:就地更改值