あなたが持っている情報が場所だけである場合、特定の場所の値を見つける

あなたが持っている情報が場所だけである場合、特定の場所の値を見つける

2つのフィールドを持つ約16,000行の長さのcsvファイルがあります。最初のフィールドには値のリストが含まれ、2番目のフィールドにはセミコロンで区切られた名前と名前のリストが含まれています。

3,           Jack Mackie; Hanna Jones; Mike Freeland; Ollie Downs; Farrah Anderson; Judy John

9,           Jewel Woodley; Jean Sullivan; Marcia Robin; Kerry Morton; Joelle Armour; Zakiya Pulwarty; Karen Thornhill; Shurm Ahmet; Ed Aslan; Adam Condell; Zeliha Manners; Joan Johnson

5,           Haydn Smart; Andre Henry; Tamara Brownbill; Kelly Withers; Eden Anderson; Naomi Casa; Azaria Amritt; Jamile Newton; Nabahe Durand

最初のフィールドの数値位置に対応する2番目のフィールドにリストされている名前はチームリーダーです。たとえば、最初の行のチームリーダーはMike Freeland(位置3)、2行目のチームリーダーはEdです。アスラン(9位)、3行目はエデン・アンダーソン(5位)だ。すべてのチームリーダーの名前を抽出する必要があります。

チームリーダーの名前をすべて抽出し、それを私のcsvファイルに対して実行してから、新しいファイルに出力するシェルスクリプトを作成しようとしています。

情報を見つけるために「grep」または「awk」と「FS」(FSはスペースの代わりにセミコロンを区切り文字として指定)を使用する方法を調べましたが、その値を最初のフィールドに組み込む方法がわかりません。選択基準として。私が見た例はすべて、既知の値または文字列を取得するためにこれらのコマンドを使用します。ただし、この場合、値の位置(名前と姓)のみがわかります。正しいコマンドをお探しですか?

私は台本を考えることができませんでした。チーム長の名前を抽出するには?

ベストアンサー1

$ awk -F, '{split($2,names,";"); print names[$1]}' file.csv
 Mike Freeland
 Ed Aslan
 Eden Anderson

おすすめ記事