;で区切られた行の最後の要素を取得します。

;で区切られた行の最後の要素を取得します。

区切り文字があるファイル(test.txt)があります。各行の最後の要素をどのように作成しますか? (各要素ごとに長さが異なります)

ベストアンサー1

sed 's/.*;//' < test.txt

;最後の行まで、各行のすべての内容を削除します。

または以下を使用してawk

awk -F';' '{print $NF}' < test.txt

フィールド数を事前に知っている場合に使用できますcut。たとえば、4つのフィールドがある場合:

cut -d';' -f4 < test.txt

ただし、行にフィールドが4つ未満の場合は空の行が返されることに注意してください。とは別に;フィールドが1つしかない場合(行にはありません)、その場合は行全体(最初のフィールド)が出力されます。機能の既知のバグですcut

おすすめ記事