
私はデータを持っています:
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 から最後の 2 文字を削除するには、次のようにします。
awk '{$1=substr($1, 1, length($1)-2); print}' < input
これ格子機能が置き換えられますすべて文字列のインスタンスです。例の入力には対応する文字列が1つしかないので、subを使用することはgsubを使用するのと同じです。
答え2
あなたの簡単な場合 -sed十分です:
sed 's/:1//' file
答え3
with サブテーマの小さなバリエーション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