我想删除一行中带有特殊字符的三个单词,例如
输入:
\cf4 \cb6 1749,1789 \cb3 \
Run Code Online (Sandbox Code Playgroud)
输出:
1749,1789
Run Code Online (Sandbox Code Playgroud)
我已经尝试了几个sed和grep语句,但是到目前为止,主要由于该字符,所以没有任何效果\。
我的失败尝试:
sed -i 's/ [.\c ] //g' inputfile.ext >output file.ext
Run Code Online (Sandbox Code Playgroud)
Awk接受正则表达式字段分隔符(在这种情况下,是逗号或空格):
$ awk -F'[ ,]' '$0 = $3 "." $4' <<< '\cf4 \cb6 1749,1789 \cb3 \'
1749.1789
Run Code Online (Sandbox Code Playgroud)
-F'[ ,]'-使用集合中的单个字符space/comma作为字段分隔符$0 = $3 "." $4-如果我们可以将整行设置$0为字段3,$4然后将其设置为文本"."字段$4,再设置为字段4 ,则执行默认行为(打印整行)更换<<< 'input'用file,如果该文件的每一行都有相同的定界符(空格/逗号)和场数。如果您的输入文件比共享的样本复杂,请编辑问题以显示实际输入。