我有数据:
33305:1 0.045
33406:1 0.432
22294:1 0.345
28364:1 0.354
我想:1
从每一行的第一列中删除;我会为此使用 gsub 吗?
答案1
:1
要替换字段 1 中的单个:
awk '{sub(":1", "", $1); print}' < input
要从字段 1 中删除最后两个字符,无论它们是什么:
awk '{$1=substr($1, 1, length($1)-2); print}' < input
这格子函数将取代每一个字符串的实例;由于您的示例输入只有一个这样的字符串,因此使用 sub 相当于使用 gsub。
答案2
对于您的简单情况 -sed就足够了:
sed 's/:1//' file
答案3
with sub主题的小变化awk
- 用作:
字段的分隔符,这将成为1 0.045
第 2 列。现在您所要做的就是去掉主角
$ awk -F':' '{sub(/^[[:digit:]]/," ",$2);print}' input.txt
33305 0.045
33406 0.432
22294 0.345
28364 0.354