Bashを使用して列を変更し、引用符を削除し、テキストファイルにタブを追加する方法

Bashを使用して列を変更し、引用符を削除し、テキストファイルにタブを追加する方法

私はbashスクリプトとファイル内のテキストでbashとawkに最初に触れました。

"Index", "Year", "Age", "Name", "Movie"
1, 1928, 44, "Emil Jannings", "The Last Command, The Way of All Flesh" 
2, 1929, 41, "Warner Baxter", "In Old Arizona"
3, 1930, 62, "George Arliss", "Disraeli"
4, 1931, 53, "Lionel Barrymore", "A Free Soul"

この出力を取得し、俳優名で並べ替え、タイトル名を変更し、テーブルを含む関数を作成する必要があります。

Actor               Year    Age   Film
Emil Jannings       1928    44    The Last Command, The Way of All Flesh
George Arliss       1930    62    Disraeli
Lionel Barrymore    1931    53    A Free Soul
Warner Baxter       1929    41    In Old Arizona

あなたは何をしますか?私はまだ初心者であり、欲しいものを得るための正しい方法を見つけることができません。

ありがとう

ベストアンサー1

csvcutPythonベースのcsvkitとMillerから:

$ csvcut -S -c Name,Year,Age,Movie file.csv | 
     mlr --icsv --opprint sort -f Name then rename Name,Actor,Movie,Film
Actor            Year Age Film
Emil Jannings    1928 44  The Last Command, The Way of All Flesh
George Arliss    1930 62  Disraeli
Lionel Barrymore 1931 53  A Free Soul
Warner Baxter    1929 41  In Old Arizona

Millerがこれを自分で実行できるはずだと思いますが、単一文字ではない場合は、引用符付き区切り文字を誤って解析するようです。

おすすめ記事