ファイル内の単語を見つけ、シェルスクリプトを使用して.csvを生成します。

ファイル内の単語を見つけ、シェルスクリプトを使用して.csvを生成します。

複数のディレクトリに idea.js という名前のこの構造を持つ多くのファイルがあります。

get.idea("tagIdea1","Some idea1 tag abc");
get.idea("idea1","Some idea1 description1 abc");
get.idea("tagIdea2","Some idea2 tag abc");
get.idea("idea2","Some idea2 description2 abc");
...
...

...そう...多くのアイデアとそれに対応するアイデアの説明があります。

次のように、各 get.idea 関数から 2 番目のパラメーターを取得し、見つかった各ファイルに対して秒パラメーターを使用して、idea.js ファイルと同じディレクトリーに対応する .csv ファイルを生成する必要があります。

Idea, descripcion
"Some idea1 tag abc","Some idea1 description1 abc"
"Some idea2 tag abc","Some idea2 description2 abc"

grepコマンドと正規表現を使用して単語を配列に格納し、ループ内の各アイデアの数を増やすことができると思いますが、各アイデアの2番目の引数に一致する正規表現を作成する方法がわかりません。式を配列に保存し、後で idea.js ファイルと同じディレクトリに記載されている構造を使用して新しい .csv ファイルにエクスポートする方法です。助けてください。

ベストアンサー1

$ sed -n '/^get\.idea/s/^.*(\(.*\)).*/\1/;p' input | awk -F, 'BEGIN {print "Idea, Description";OFS=","} (NR % 2 ) == 1 {save=$2} (NR % 2) ==0 {print save, $2}'
Idea, Description
"Some idea1 tag abc","Some idea1 description1 abc"
"Some idea2 tag abc","Some idea2 description2 abc"

私たちは通常、sed無関係なものをすべて削除し、awk1行ずつ解析してCSVファイルを作成します。

おすすめ記事