特定の文字(この場合_)の前後の文字を保存したいと思います。 cutとsedを試しましたが、文字の前または後の部分を削除しました。
私の出力は次のとおりです
7_38 98.97
7_37 98.59
7_36 98.79
7_35 98.93
7_34 98.57
7_33 99.70
7_32 99.13
「_」の後の数字を削除し、2番目の列を次のように出力として保持したいと思います。
7 98.97
7 98.59
7 98.79
7 98.93
7 98.57
7 99.70
7 99.13
答え1
_
その後、空白以外のすべての文字を削除したいようです。
sed 's/_[^[:blank:]]*//' < file
答え2
awkを使ってみましたか?これにより、行きたい場所に行くことができます。
awk '/_/ {gsub("_.*","",$1); print}' < input.txt
答え3
awkを使う息子機能:
awk '{ sub("_.*","",$1) }1' OFS='\t' file
出力:
7 98.97
7 98.59
7 98.79
7 98.93
7 98.57
7 99.70
7 99.13
答え4
複数の文字をフィールド区切り文字(スペースとアンダースコア)として使用し、フィールド1と3のみを印刷できます。
awk -F'_| +' '{print($1,$3)}' file