当前位置: 技术问答>linux和unix
linux中匹配字符并修改的提问
来源: 互联网 发布时间:2016-11-25
本文导语: 大家好, 我现在又个棘手的问题,我写了一个脚本,有一段不是太会写: 其中一端:cat $employee_dir/$alias_files|grep $name|sed 's/^/@/' 这里面只是在屏幕输出中符合变量name的行前面加了@, 现在求怎样写能直...
大家好,
我现在又个棘手的问题,我写了一个脚本,有一段不是太会写:
其中一端:cat $employee_dir/$alias_files|grep $name|sed 's/^/@/'
这里面只是在屏幕输出中符合变量name的行前面加了@,
现在求怎样写能直接更改文本,在文本里面,符合name条件的行首加@符号
谢谢大家,
jackie
我现在又个棘手的问题,我写了一个脚本,有一段不是太会写:
其中一端:cat $employee_dir/$alias_files|grep $name|sed 's/^/@/'
这里面只是在屏幕输出中符合变量name的行前面加了@,
现在求怎样写能直接更改文本,在文本里面,符合name条件的行首加@符号
谢谢大家,
jackie
|
哦 没看清你的要求 在匹配的名字的行首加@ 刚才那个不对 这个才对
sed -i "/$name/{s/^/@/}" $employee_dir/$alias_files
sed -i "/$name/{s/^/@/}" $employee_dir/$alias_files
|
sed -i "s/$name/@$name/g" $employee_dir/$alias_files
哎 被楼上抢先了
哎 被楼上抢先了
|
awk '{if( $0~v) print "@" $0; else print}' v=${name} $employee_dir/$alias_files
|
双引号表示模式和操作,