[英]formatting text using awk
嗨,我有以下文字,我需要使用awk或sed来打印3个单独的列
11/13/14 101 HUDSON AUBONPAINJERSEY CITY NJ $4.15
11/22/14 MTAMVM*110TH ST/CATNEW YORK NY $19.05
11/22/14 DUANE READE #14226 0NEW YORK NY $1.26
所以我想产生一个包含所有日期的文件。 包含所有描述的另一个文件和包含所有数字的第三个文件
我可以使用awk打印第一列printy $ 1,然后使用-F [$]选项打印最后一列,但由于有空格等,所以我不能仅打印中间列。我可以忽略空格吗? 还是有更好的方法呢?
提前解冻
尝试这样做:
$ awk '
{
print $1 > "dates"; $1=""
print $NF > "prices"; $NF=""
print $0 > "desc"
}
' file
要么 :
awk -F' +' '
{
print $1 > "dates"
print $2 > "desc"
print $3 > "prices"
}
' file
然后 :
$ cat dates
$ cat desc
$ cat prices
还不够快,无法成为第一个提供awk解决方案的人,所以这里有grep
和sed
...
grep -o '^.*/.*/1.' file #first col
sed 's/^.*\/.*\/1.//;s/\$.*//' file #middle col
grep -o '\$.*$' file #last col
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.