我有一个变量Firstline
,其值为FHEAD,0000000001,STKU,20150927000000,201509270000000000,1153,,0000000801,W
,我只需要5th
字段。
任何人都可以帮我解决这个问题。
我使用了以下命令,但它给了我一个错误
echo "FHEAD,0000000001,STKU,20150927000000,201509270000000000,1153,,0000000801,W" | awk -f ',' '{print $5}'
awk: fatal: can't open source file
,' for reading (No such file or directory)
答案 0 :(得分:2)
当您将其标记为bash
而非awk
(这也是有效的解决方案)时,您可以
IFS=, read -a a <<< "FHEAD,0000000001,STKU,20150927000000,201509270000000000,1153,,0000000801,W"
echo ${a[4]}
获得相同的结果而不产生新进程(请注意bash数组是从0开始的。)
答案 1 :(得分:1)
尝试-F
而非-f
。
-F
用于字段分隔符
-f
用于awk程序的文件名。
答案 2 :(得分:0)
您也可以使用sed
echo "..." | sed -E 's/([^,]*,){4}([^,]*).*/\2/'