Delete words in a line using grep or sed

Ala*_*oin 0 bash grep sed

我想删除一行中带有特殊字符的三个单词,例如

输入:

\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)

vin*_*nes 5

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,如果该文件的每一行都有相同的定界符(空格/逗号)和场数。如果您的输入文件比共享的样本复杂,请编辑问题以显示实际输入。