Text-Processing

如何使用 sed 每隔第二個和第四個逗號分隔的單詞從文件中刪除一次?

  • April 18, 2022

給定這樣的輸入

this,is,a,test,string,containing,multiple
lines,of,string,with,numb3rs,and,w0rds

我想使用 sed 刪除每行中的第二個和第四個單詞。單詞是嚴格的字母數字。

最自然的工具是cut.

cut -d , -f 1,3,5-

使用 sed,用於\([^,]*,\)匹配一個欄位。

sed 's/^\([^,]*,\)\([^,]*,\)\([^,]*,\)\([^,]*,\)/\1\3/'

它不是 sed,但您可以使用 Miller ( https://github.com/johnkerl/miller ) 並執行

<input mlr --csv -N unsparsify then cut -x -f 2,4

具有

this,a,string,containing,multiple
lines,string,numb3rs,and,w0rds

引用自:https://unix.stackexchange.com/questions/581068