[awk] 用-F指定多分隔符,awk的for语句, BEGIN, END

[awk] 用-F指定多分隔符

echo $(pwd)  | awk  -F'[/.@]' '{pring $1,$2,$3,NF,NR}'

比如我的路径
$ pwd
/cygdrive/d/work/android.dooyogame/dy_cike/dy_cike_xcf/assets/image

要把目录列出来
$ echo $(pwd)  | awk  -F'[/]' '{print    "first="$1,"second="$2,"third="$3,NF,NR}' 
显示结果
first= second=cygdrive third=d 9 1
 

ls -l显示文件详细信息,用空格分隔后,将第二列数字相加
$ ls -l | awk 'BEGIN { FS=" ";print "开始统计文件数目";co=0} {print $2; co=co+$ 2;} END {print "总文件数目 $2f",co}' 
开始统计文件数目
38
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
总文件数目 $2f 54

awk中用for语句遍历当前路径,注意awk中for语句与外界for语句不同
$ echo $(pwd) | awk 'BEGIN {FS="/"; print "把当前路径的每个文件夹都单独显示:";}  { for(i=1;i<=NF;i++) print $i;} END{print NF}' 
把当前路径的每个文件夹都单独显示:

cygdrive
d
work
android.dooyogame
dy_cike
dy_cike_cikechuanshuo_init_init
7

外部for语句用法
for((i=0; i<99;i++)); do echo $i; done

如何用AWK将一个大文件分割成几个小文件?J将文件myfile里面第一到第十行存入newfile

我试过了,可以用的,好象这样也可以的
awk -F% 'NR==1,NR==10 {print $0}' myfile>newfile
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值