版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
在linux操作中经常遇到相同分隔符形成的句子,但是我们又只想提取某一部分
比如
C:\Program Files\Common Files\Apple
C:\Program Files\Common Files\Banana
C:\Program Files\Common Files\Cacaca
这一个都是以 \ 为分割符,假如这3行存在一个 tmp.txt文件中
awk -F\ '{print $1, $2, $3, $4} ' tmp.txt
awk -v FS='\' '{print $1, $2, $3, $4} ' tmp.txt
这两句话输出效果是一样的,结果都是
C: Program Files Common Files Apple
C: Program Files Common Files Banana
C: Program Files Common Files Cacaca
注意一下,printf $1, $2,$3,$4 中间的逗号输出时其实是变成了空格,如果没有逗号,那就没有空格
指定输入指定输出怎么做?
awk -v FS='\' -v OFS='***' '{print $1, $2, $3, $4} ' tmp.txt
结果
C: *** Program Files *** Common Files *** Apple
C: *** Program Files *** Common Files *** Banana
C: *** Program Files *** Common Files *** Cacaca