[英]How can I adjust the length of a column field in bash using awk or sed?
[英]How can I extract a subset from a column/field using awk?
我想知道如何使用awk从列/字段中提取子集?
这是输入文件test.txt:
aaa bbb ccc=0.7707;ddd=0.21
我希望能够从第三列中提取图形“ 0.21”,并将其与第一列和第二列一起输出:
aaa bbb 0.21
我尝试并使用下面的代码,但失败了:
awk 'BEGIN { OFS = "\t" } { $4 = /^ddd=(+\d)/ ; print $1,$2,$4 }' test.txt
请帮忙!
TP,非常感谢
您可以使用-F
标志或在BEGIN
块中设置FS
来指定多个定界符。 例如:
echo "aaa bbb ccc=0.7707;ddd=0.21" | awk -F "[ =]" '{ print $1, $2, $NF }'
结果:
aaa bbb 0.21
您可以使用gsub
:
awk 'BEGIN { OFS = "\t" } { gsub(/.*=/, "", $3); print $1,$2,$3 }' text.txt
对于您的输入,它会给出:
aaa bbb 0.21
另一个awk
awk '{split($3,a,"=");print $1,$2,a[3]}'
aaa bbb 0.21
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.