bashでsedまたはawkを使用してcsvの最初の列を編集する

bashでsedまたはawkを使用してcsvの最初の列を編集する

csvファイルがあり、 ";"後ろのすべてを削除して、科学論文のタイトルを含む最初の列を編集したいと思います。シンボル。

したがって、一般的なヘッダーの形式は次のようになります。

long scientific title here;other stuff I want to delete including the semicolon (no space between ; and the text)

タイトルを次のように作成したいと思います。

long scientific title here

sedまたはawk(これが重要な場合はmacOSで)これをどのように達成しますか?

ベストアンサー1

各行の最初のセミコロンの後のすべてのエントリを削除するには、次の手順を実行します。

そしてcut

cut -d';' -f1 file
  • -d';'セミコロンを区切り記号として使用
  • -f1最初のフィールドを印刷

そしてawk

awk -F';' '{ print $1 }' file

次のようになりますcut。入力フィールド区切り文字としてセミコロンを使用し、最初のフィールドを印刷します。


そしてsed

sed 's/;.*//' file

セミコロンと次の文字を空の文字列に置き換えます。

おすすめ記事