如何找到以$
开头的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
答案 0 :(得分: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
答案 1 :(得分:0)
使用tr
和grep
:
$ tr ',' '\n' < inputfile | grep "^[$]"
$Var1
$varCab1
$Vargab1
$Var2
$varCab2
$Vargab2
$Var3
$varCab3
$Vargab3
答案 2 :(得分:0)
使用perl
:
perl -ne 'for (m/\$\w+/g) { print $_, "\n" }' < inputfile
甚至更短:
perl -ne 'print map("$_\n", m/\$\w+/g)' < inputfile
说明:
\$\w+
匹配$
后跟一个或多个单词字符。 m//g
表达式返回匹配列表。 perl -ne
为输入中的每个文件运行表达式,在$_
中插入行,然后由m//g
表达式使用。