如何使用sed搜索行并在行尾替换字符串

时间:2013-01-15 12:43:02

标签: unix sed grep

我的要求是搜索文件中的行,该文件应该具有模式@$SQL_DIR并在行尾添加字符串$IDSS_LA_SCHEMA。任何人都可以帮助我...... ??

此致 拉杰什

4 个答案:

答案 0 :(得分:1)

使用awk,awk '/PATTERN/ {print $0, "STRING"}' /path/to/your/file

答案 1 :(得分:1)

也许是这样的:

sed '/@\$SQL_DIR/ s/$/\$IDSS_LA_SCHEMA/'

我试图在那里做的是包含指定字符串的匹配行,并且对于每一个匹配行,将结尾替换为第二个字符串。

答案 2 :(得分:0)

$ cat myfile.txt
some line
some other line, with @$SQL_DIR in it
$ sed -i 's/^\(.*@$SQL_DIR.*\)/\1$IDSS_LA_SCHEMA/' myfile.txt
$ cat myfile.txt
some line
some other line, with @$SQL_DIR in it$IDSS_LA_SCHEMA

答案 3 :(得分:0)

> cat temp
ngkerng
egerger
erger
ghethe @$SQL_DIRand
jgnv
erger
>

见下文:

> perl -pi -e 'if(/\@\$SQL_DIRand/){$_=~s/$/\$IDSS_LA_SCHEMA/;}' temp
>cat temp
ngkerng
egerger
erger
ghethe @$SQL_DIRand$IDSS_LA_SCHEMA
jgnv
erger
> 

注意:这将进行就地追加。