如何使用 sed 使用正则表达式替换文件中的键?

如何使用 sed 使用正则表达式替换文件中的键?

我想修改一个文件来替换密钥,假设这些密钥在文件中如下:

42NM
52NM
23NO
XNNM

我想用 NM 代替任何东西,用“好的”这个词。

 1 #!bin/bash/
 2 
 3 if [ -f KeyFile]
 4 then
 5         sed 's/[0-9][0-9]NM/Okay/g' KeyFile
 6 else
 7         echo "File does not exist or cannot be found."
 8 fi
 9 
10 exit 0

我运行了命令:

chmod a+x FindKeys

然后,当我尝试运行该脚本时,我得到:

-bash-3.00$ ./FindKeys
-bash: ./FindKeys: bin/bash/: bad interpreter: No such file or directory

我似乎有两个问题,一是脚本文件运行不正确,二是命令sed不起作用。

答案1

1号线:您的 hashbang 行不正确,请使用:

#!/bin/bash

3号线:注意test实用程序(它在结束之前需要一个空格]):

if [ -f KeyFile ]

5号线:在sed命令中,使用-i激活 的就地编辑sed,否则编辑内容仅打印到标准输出:

sed -i 's/[0-9][0-9]NM/Okay/g' KeyFile

相关内容