End*_*ame 0 unix shell awk ksh separator
我有一个文件调用"文件",其中有一些字段用分隔符分隔.该文件的结构是:
@field1@field2@field3@field4
Run Code Online (Sandbox Code Playgroud)
使用awk我已经提取了没有分隔符的字段.
vr=$file;
sep_mx=`echo $vr | awk '{
n=split($0,x,"@");
print n
}'`
echo $sep_mx
## here the number of substring produced is calc.
while ((i<=$max));
do
# would print individual substring one at a
# time as the counter increases.
echo $vr | awk -v er=$i '{
n=split($0,x,"@"); print x[er]
}'
((i+=1))
done
Run Code Online (Sandbox Code Playgroud)
输出是:
field1
field2
field3
field4
Run Code Online (Sandbox Code Playgroud)
如果我想从代码中仅提取第二个字段,我刚刚发布了如何做到这一点?谢谢
这应该是:
awk -F@ '{print $3}' file
Run Code Online (Sandbox Code Playgroud)
一般来说,尽量使用-F.它意味着"字段分隔符",让您的生活更轻松,无需分割,子目录和类似的东西.
$ awk -F@ '{print $3}' file
field2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1130 次 |
| 最近记录: |