这是我正在运行的命令 它采用任何形式(数字)(b或q)//数字后跟b或q 并用b或q替换它
cat Table1.txt | sed -r 's/[0-9]([bq])/\1/g'
ex. 8q -(changes to)> q
7b -(changes to)> b
但我不想只在第二栏上这样做
tyek8qk 9b88 column
uel76qk 8q76 word
会改为
tyek8qk b88 column
uel76qk q76 word
这是我到目前为止的尝试,但它只是产生输入
cat Table1.txt | sed -r '2,2s/[0-9]([bq])/\1/g'
答案 0 :(得分:1)
您可以使用此sed:
sed -E 's/([^[:blank:]]+[[:blank:]]+)[0-9]([bq])/\1\2/' file
tyek8qk b88 column
uel76qk q76 word
如果你有gnu awk那么可以这样做:
awk '{$2=gensub(/[0-9]+([bq])/, "\\1", 1, $2)} 1' file
答案 1 :(得分:1)
awk中的另一个选项是使用substr。
awk '{$2=substr($2, 2, 3)}1' file
tyek8qk b88 column
uel76qk q76 word