在以下查询中需要您提供帮助。
$ cat sample.txt
414d51204d5150525447575648415050529a6af298e,,,002330618820140707134048 ,+0657,45675
414d51204d514e55533732355051543051696344201645c6,002330618820140707134048 ,+0657,tgre,ghty
在最后一个逗号后需要所有字段","在现场1.你可以看到有很多(414d51204d5150525447575648415050529a6af298e ,,,) 输出必须如下所示。
预期产出:
002330618820140707134048 ,+0657,45675
002330618820140707134048 ,+0657,tgre,ghty
由于
答案 0 :(得分:0)
使用egrep
或grep -E
:
egrep -o '[0-9]{24}\s+\S+' your_file
使用普通grep
:
grep -o '[0-9]\{24\}[[:blank:]]\+[^[:blank:]]\+' your_file
输出:
002330618820140707134048 ,+0657,45675
002330618820140707134048 ,+0657,tgre,ghty
或使用sed
:
sed -e 's/^[^[:blank:]]\+,//' your_file
或者
sed -e 's/^[^ \t]\+,//' your_file
或者只是空间:
sed -e 's/^[^ ]\+,//' your_file
答案 1 :(得分:0)
您可以使用shell程序。
cat sample.txt | sed -n 1'p' | tr ',' '\n' | while read word; do
echo $word
done
答案 2 :(得分:0)
如果其他人在这里不起作用,那就是perl oneliner:
perl -lne 'print $1 if /.*?,+(.*)/'
输出:
002330618820140707134048 ,+0657,45675
002330618820140707134048 ,+0657,tgre,ghty
答案 3 :(得分:0)
您可以使用sed
和cut
:
示例:强>
sed -r 's/,+/,/g' < text.txt | cut -d',' -f2-
<强>输出:强>
002330618820140707134048 ,+0657,45675
002330618820140707134048 ,+0657,tgre,ghty