awk print列的N种形式

问题:用awk过来出、var/log/messages文件里的第四列

答案:N种.理解了这些,对shell编程的' " /就不会害怕了

 

cat messages | awk '{print $4}'
cat messages | awk {'print $4'}
cat messages | awk /{print/ /$4/}
cat messages | awk "{print /$4}"

#假设列数不是固定的,应该怎么写?use $A
A=4
cat message | awk "{print /$$A}"
awk /{print/ /$$A/} messages
awk '{print '/$$A/}  messages
awk "{print "'$'$A"}" messages

 

相关概念:

1. IFS: 用来拆解command line的word用的

2. CR: 结束command line用的

3. IFS和CR都是常用的shell meta,除了它们,常用的还有:

= $ < > | &

( ) 将其内置命令置于nested subshell执行,或用于运算或命令替换

{} 将其内的命令置于no named function 中执行,或用于在变量替换的界定范围 eg: ${A}BC

; && ||  !

 

 

4.quoting(' " /):关闭元数据

5.shell meta 和awk meta的区别


grep的时候,不加引号,'', '' ""的区别:其实就是是否quoting的区别

A=abc

grep $A 等同于 grep abc

grep '$A': grep的就是$和A这两个字符. ''是hard quoting,所有的meta都被关闭

grep "$A"  等同于grep abc, “ ”是soft quting,不关闭$



6)

如果quoting没有结束,输入了CR,shell会让你继续输入。如果{作为元字符输入了,在输入CR,换行在输入},命令行会出错。shell自己的元字符,会自己找配对

> echo "fdsa
> "
fdsa


>


7) {}用法

echo ${A} 

echo {$A}是没有意义的


8) cat 新建文件

cat > filename [CR}

输入内容

Ctrl+C 结束

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值