Answers:
用途cut
:
$ echo '3|100|test@test.com|0|0|6:1,10,11,12,13,2,3,4,5,6,9|7:1,10,11,13,16,2,4,5,6,9|' |\
cut -d'|' -f3
test@test.com
也许awk更适合这种用法:
awk 'BEGIN { FS = "|" } ; { print $3 }'
如果你必须从这样的输入中提取多个字段,我认为使用awk是最简单的。
(OFF:原谅我,如果我在指出AWK-病房方向)
想象一下,您的内容存在于此文件下 file1
[max @ localhost~] $ cat file1 3 | 100 | test@test.com | 0 | 0 | 6:1,10,11,12,13,2,3,4,5,6,9 | 7:1 ,10,11,13,16,2,4,5,6,9 |
要剪切third
字段,请使用此命令
[max @ localhost~] $ cut -d“|” -f3 file1
test@test.com
这里
-d:指定使用字符| 作为分隔符
-f1:打印第一个字段,如果要打印第二个字段使用-f2,第三个字段使用-f3,等等......
假设file1
内容是这样的
[max @ localhost~] $ cat file1
根:X:0:0:根:/根:/斌/庆典
然后我们必须:
像这样使用分隔符
切割first
场使用f1
[max @ localhost~] $ cut -d“:” - f1 file1 根
削减second
野外使用f2
[max @ localhost~] $ cut -d“:” - f2 file1 X
削减third
野外使用f3
[max @ localhost~] $ cut -d“:” - f3 file1 0