我使用这个命令,awk '{print $1}' "$line"
,从文件中获取一列数据,如下所示:(下划线表示制表符作为分隔符,示例是三列数据)
Joe Jonas_____8_____45
Cersei Lann_____4_____23
Bo Tox_____6_____28
Mis Ter Yo_____7_____89
当我运行命令时,说要获取第一列,但是输出显示如下:
Joe
Cersei
Bo
Mis
如何让命令忽略第一列数据中的空格?
最佳答案
将字段分隔符 (-F) 更改为制表符:
$ awk -F$'\t*' '{gsub(/ /,"_",$1); print $1,$2}' test2.in
Joe_Jonas 8
Cersei_Lann 4
Bo_Tox 6
Mis_Ter_Yo 7
编辑:在第一列使用 gsub
将空格替换为下划线。
关于linux - awk 命令 : how to tell it to distinguish between space and tab delimiter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38473781/