;
各行の最初の行以降のすべての項目を削除する必要があるファイルがあります。
したがって、次のファイルがあります。
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