Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
私の出力は次のようになります。
foo-1_2_3_4_5_bar foo-6_7_8_9_0_1_2_bar
次の出力を得るために、末尾の文字を削除するにはどうすればよいですか。
foo-1 foo-6
私は試しました:
awk 'sub("..........$", "")
しかし、文字列の長さが異なる可能性があるため、これは非常に不便です。
sed 's/_.*//'
テスト:
kent$ echo "foo-1_2_3_4_5_bar foo-6_7_8_9_0_1_2_bar"|sed 's/_.*//' foo-1 foo-6
awk ワンライナーを追加します。
awk -F_ '$0=$1'
同じ入力、同じ出力:
kent$ echo "foo-1_2_3_4_5_bar foo-6_7_8_9_0_1_2_bar"|awk -F_ '$0=$1' foo-1 foo-6