すべての行の最初の;
以降のすべてを削除する必要があるファイルがあります。
したがって、次のようなファイル:
sdfsdsdf;
fsdfsddf;sdfsd;
この結果になります:
sdfsdsdf
fsdfsddf
grep
とsed
を調査しました。これらのコマンドのいずれかを組み込んだ回答をいただければ幸いです。
sed
は、この状況ではおそらくawkやPerlよりも簡単で高速です。
sed 's/^\([^;][^;]*\);.*$/\1/' some_file_name
別のオプションは、cut
コマンドを使用することです
cat a.file | cut -d';' -f1
私は通常、次のような場合にawk
を使用します。
cat a.file | awk -F=";" '{ print $1 }'
これは、ファイルの各行を取り、区切り文字-F
の前の最初のグループを出力します。
GNU grep
を使用して行う方法は次のとおりです。
grep -Po "^[^;]+(?=;?)" filename