grep - 区切り文字の後のテキストを削除します。

grep - 区切り文字の後のテキストを削除します。

;各行の最初の行以降のすべての項目を削除する必要があるファイルがあります。

したがって、次のファイルがあります。

sdfsdsdf;
fsdfsddf;sdfsd;

次のような結果が発生します。

sdfsdsdf
fsdfsddf

grep私はとを調べましたsed。私はこれらのコマンドの1つを含む答えが欲しいです。

答え1

cut別のオプションはコマンドを使用することです

cat a.file | cut -d';' -f1

答え2

sedこの場合、おそらくawkやPerlよりも簡単で高速です。

sed 's/^\([^;][^;]*\);.*$/\1/' some_file_name

答え3

私が一般的に使用するものはawk次のとおりです。

cat a.file | awk -F=";" '{ print $1 }'

これにより、ファイルの各行が取得され、区切り文字の前の最初のグループが印刷されます。-F

答え4

GNUを使用してこれを行う1つの方法は次のとおりですgrep

grep -Po "^[^;]+(?=;?)" filename

関連情報