将 grep 的结果打印到 csv 文件
Print the results of a grep to a csv file
我正在尝试将 grep 的结果打印到 CSV 文件中。当我在我的目录中 运行 这个命令 grep FILENAME *
我得到这个结果:B140509184-#-02Jun2015-#-11:00-#-12:00-#-LT4-UGW-MAJAZ-#-I-#-CMAP-#-P-45088966.lif: FILENAME A20150602.0835+0400-0840+0400_DXB-GGSN-V9-PGP-16.xml
.
我想要的是将 FILENAME
部分打印到 csv。以下是我到目前为止所做的尝试,我对如何打印结果有点迷茫
BASE_DIR=/appl/virtuo/var/loader/spool/umtsericssonggsn_2013a/2013A/good
cd ${BASE_DIR}
grep FILENAME *
#grep END_TIME *
#grep START_TIME *
#my $Filename = grep FILENAME *;
print $Filename;
#$ awk '{print;}' employee.txt
#echo "$Filename :"
文件样本
measInfoId 140509184
GP 3600
START_DATE 2015-06-02
Output should be 140509184 3600 2015-06-02, in columns of a csv file
更新答案
如果您只想要以 GP
、START_DATE
或 measInfoId
开头的行,您可以将下面的 awk
命令修改为如下所示:
awk '/^GP/ || /^START_DATE/ || /^measInfoId/ {print }' file
原答案
我不确定你到底想做什么,但这可能会有所帮助...
如果您的输入文件名为 file
,并且包含以下内容:
measInfoId 140509184
GP 3600
START_DATE 2015-06-02
此命令将打印每行的第二个字段:
awk '{print }' file
140509184
3600
2015-06-02
然后,在此基础上,此命令会将所有这些放在一行中:
awk '{print }' file | xargs
140509184 3600 2015-06-02
然后这个会把空格翻译成逗号:
awk '{print }' file | xargs | tr " " ","
140509184,3600,2015-06-02
如果你想对目录中的所有文件都这样做,你可以这样做:
for f in *; do
awk '{print }' "$f" | xargs | tr " " ","
done > result.cv
我正在尝试将 grep 的结果打印到 CSV 文件中。当我在我的目录中 运行 这个命令 grep FILENAME *
我得到这个结果:B140509184-#-02Jun2015-#-11:00-#-12:00-#-LT4-UGW-MAJAZ-#-I-#-CMAP-#-P-45088966.lif: FILENAME A20150602.0835+0400-0840+0400_DXB-GGSN-V9-PGP-16.xml
.
我想要的是将 FILENAME
部分打印到 csv。以下是我到目前为止所做的尝试,我对如何打印结果有点迷茫
BASE_DIR=/appl/virtuo/var/loader/spool/umtsericssonggsn_2013a/2013A/good
cd ${BASE_DIR}
grep FILENAME *
#grep END_TIME *
#grep START_TIME *
#my $Filename = grep FILENAME *;
print $Filename;
#$ awk '{print;}' employee.txt
#echo "$Filename :"
文件样本
measInfoId 140509184
GP 3600
START_DATE 2015-06-02
Output should be 140509184 3600 2015-06-02, in columns of a csv file
更新答案
如果您只想要以 GP
、START_DATE
或 measInfoId
开头的行,您可以将下面的 awk
命令修改为如下所示:
awk '/^GP/ || /^START_DATE/ || /^measInfoId/ {print }' file
原答案
我不确定你到底想做什么,但这可能会有所帮助...
如果您的输入文件名为 file
,并且包含以下内容:
measInfoId 140509184
GP 3600
START_DATE 2015-06-02
此命令将打印每行的第二个字段:
awk '{print }' file
140509184
3600
2015-06-02
然后,在此基础上,此命令会将所有这些放在一行中:
awk '{print }' file | xargs
140509184 3600 2015-06-02
然后这个会把空格翻译成逗号:
awk '{print }' file | xargs | tr " " ","
140509184,3600,2015-06-02
如果你想对目录中的所有文件都这样做,你可以这样做:
for f in *; do
awk '{print }' "$f" | xargs | tr " " ","
done > result.cv