-1

$ で始まる csv ファイル内のすべての単語を見つけるにはどうすればよいですか

私のファイルは次のようなものです:

Test1,$Var1,$varCab1,$Vargab1,Comment1
Test2,$Var2,$varCab2,$Vargab2,Comment2
Test3,$Var3,$varCab3,$Vargab3,Comment3

私が望む出力として

$Var1
$varCab1
$Vargab1
$Var2
$varCab2
$Vargab2
$Var3
$varCab3
$Vargab3
4

3 に答える 3

1

次の ( grep -oE '\$\w+' filename) を試してください:

$ cat 1.csv
Test1,$Var1,$varCab1,$Vargab1,Comment1
Test2,$Var2,$varCab2,$Vargab2,Comment2
Test3,$Var3,$varCab3,$Vargab3,Comment3
$ grep -oE '\$\w+' 1.csv
$Var1
$varCab1
$Vargab1
$Var2
$varCab2
$Vargab2
$Var3
$varCab3
$Vargab3

使用awk:

$ awk -F, '{ for(i=1;i<=NF;i++) if ($i ~ /\$/) print $i; }' 1.csv
$Var1
$varCab1
$Vargab1
$Var2
$varCab2
$Vargab2
$Var3
$varCab3
$Vargab3
于 2013-08-27T06:40:12.457 に答える
0

とを使用trgrepます。

$ tr ',' '\n' < inputfile | grep "^[$]"
$Var1
$varCab1
$Vargab1
$Var2
$varCab2
$Vargab2
$Var3
$varCab3
$Vargab3
于 2013-08-27T07:08:21.650 に答える
0

使用perl:

perl -ne 'for (m/\$\w+/g) { print $_, "\n" }' < inputfile

またはさらに短い:

perl -ne 'print map("$_\n", m/\$\w+/g)' < inputfile

説明:

  • 正規表現は、a の後に 1 つ以上の単語文字\$\w+が続くものと一致します。$
  • 式は一致のm//gリストを返します。
  • perl -neは、入力内の各ファイルに対して式を実行し、 に行を挿入します。$_これは式で使用されm//gます。
于 2013-08-28T17:00:57.287 に答える