亲爱的,在我的一个输入文件中,文字如下所示。
(LOCKED) (DISABLED) RncFunction=1,UtranCell=UE1146XB3
(LOCKED) (DISABLED) RncFunction=1,UtranCell=UE1146XC3
(LOCKED) (DISABLED) RncFunction=1,UtranCell=UE1146XA0
(LOCKED) (DISABLED) RncFunction=1,UtranCell=UE1146XB0
(LOCKED) (DISABLED) RncFunction=1,UtranCell=UE1146XC0
现在我想通过删除" RncFunction = 1,UtranCell ="从每一行。
(LOCKED) (DISABLED) UE1146XB3
(LOCKED) (DISABLED) UE1146XC3
(LOCKED) (DISABLED) UE1146XA0
(LOCKED) (DISABLED) UE1146XB0
(LOCKED) (DISABLED) UE1146XC0
我正在使用以下代码
cat input.log | sed 's\/RncFunction\ \g'
但它没有用。我究竟做错了什么?请帮忙。
答案 0 :(得分:1)
这取代了Rnc
以及以下所有内容,包括最后一个=
,没有任何内容。
sed 's/Rnc.*=//' input.log
答案 1 :(得分:0)
关注awk
和sed
解决方案也可能对您有帮助。
解决方案第一: 使用sed
将匹配的正则表达式保留在内存中的功能。
sed 's/\([^(RncFunction)]*\)\(RncFunction.*=\)\(.*\)/\1\3/' Input_file
第二个解决方案 :使用名为awk
的{{1}}开箱即用的实用程序,它将根据字符串替换字符串提供正则表达式。
sub
答案 2 :(得分:0)
只需替换不需要的字符串:
$ cat /tmp/tmp.txt | sed 's/RncFunction=1,UtranCell=//'
(LOCKED) (DISABLED) UE1146XB3
(LOCKED) (DISABLED) UE1146XC3
(LOCKED) (DISABLED) UE1146XA0
(LOCKED) (DISABLED) UE1146XB0
(LOCKED) (DISABLED) UE1146XC0
$ cat /tmp/tmp.txt
(LOCKED) (DISABLED) RncFunction=1,UtranCell=UE1146XB3
(LOCKED) (DISABLED) RncFunction=1,UtranCell=UE1146XC3
(LOCKED) (DISABLED) RncFunction=1,UtranCell=UE1146XA0
(LOCKED) (DISABLED) RncFunction=1,UtranCell=UE1146XB0
(LOCKED) (DISABLED) RncFunction=1,UtranCell=UE1146XC0