shell awk杂项

 

awk '{
    for(i=0;++i<=NF;){
        a[i]=a[i]?a[i]",'\''"$i"'\''":"'\''"$i"'\''"
    }
}
END{
    for(i=0;i++<NF;){
        print a[i]
    }
}' tmpb


[root@cc ~]# cat tmpa
1
2
3
4
5
6
7
8
[root@cc ~]# awk '{
>     for(i=0;++i<=NF;){
>         a[i]=a[i]?a[i]",'\''"$i"'\''":"'\''"$i"'\''"
>     }
> }
> END{
>     for(i=0;i++<NF;){
>         print a[i]
>     }
> }' tmpa
'1','2','3','4','5','6','7','8'
[root@cc ~]# 
[root@cc ~]# cat tmpb
1 2 3
4 5 6
7 8 9
[root@cc ~]# awk '{
>     for(i=0;++i<=NF;){
>         a[i]=a[i]?a[i]",'\''"$i"'\''":"'\''"$i"'\''"
>     }
> }
> END{
>     for(i=0;i++<NF;){
>         print a[i]
>     }
> }' tmpb
'1','4','7'
'2','5','8'
'3','6','9'

# 注意awk的文件不能单独一行

 

a[i]=a[i]?a[i] FS $i:$i
# 执行第一行时,读到1 2 3,因为a[i]为空,所以执行a[i]=$i,a[i]的值为1
# 执行第二行时,读到4 5 6,因为a[i]的值为"1",所以执行a[i]=a[i] FS $i,结果为"1 4"
# 执行第二行时,读到7 8 9,因为a[i]的值为"1 4",同步执行a[i]=a[i] FS $i,结果为"1 4 7"

 

awk打印单双引号

双引号:
awk '{print "\""}'        #放大:awk '{print "  \"  "}'
使用“”双引号把一个双引号括起来,然后用转义字符\对双引号进行转义,输出双引号。

单引号:
awk '{print "'\''"}'       # 放大: awk '{print  "  '  \  '  '   " }'
使用一个双引号“”,然后在双引号里面加入两个单引号‘’,接着在两个单引号里面加入一个转义的单引号\',输出单引号。

 

设置超时结束

a=1
timeout ${a:-5} sleep

 

 

ref: https://blog.csdn.net/kouryoushine/article/details/92838138
ref: https://www.cnblogs.com/emanlee/p/3620785.html

转载于:https://www.cnblogs.com/chenzechao/p/11377435.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值