Linux命令笔记
Linux命令笔记
首席攻城狮 发表于4个月前
Linux命令笔记
  • 发表于 4个月前
  • 阅读 7
  • 收藏 1
  • 点赞 0
  • 评论 0

【腾讯云】如何购买服务器最划算?>>>   

摘要: 互联网是个好东西

下面这些信息 都是从网上收集整理的

awk

命令行使用方式

awk [-F field-separator] 'commands' input-file(s)

其中,commands 是真正awk命令,[-F域分隔符]是可选的。 input-file(s) 是待处理的文件。 在awk中,文件的每一行中,由域分隔符分开的每一项称为一个域。通常,在不指名-F域分隔符的情况下,默认的域分隔符是空格。

内置变量

ARGC               命令行参数个数
ARGV               命令行参数排列
ENVIRON            支持队列中系统环境变量的使用
FILENAME           awk浏览的文件名
FNR                浏览文件的记录数
FS                 设置输入域分隔符,等价于命令行 -F选项
NF                 浏览记录的域的个数
NR                 已读的记录数
OFS                输出域分隔符
ORS                输出记录分隔符
RS                 控制记录分隔符
cat /data/log.log | grep 'applist' | awk -F'\t' '{if($11!="null" && $11!="" && 10<length($11) && length($11)<20 && $11!="000000000000000")print $10"\t"$11}' >> /data/log.log.anl

sort

sort -t$'\t' -k 2 -u  /data1/log/log.txt
命令用法
-t使用后面的字符进行分割 如果是"\t" 则要使用 $转义一下
-k 2使用-t 分割之后 选择进行排序的列 ,可以是区间[2,3]
-u排序的同时进行去重
-r升序变降序
-o可以直接将处理结果写入源文件
-n防止出现 10 < 2 这种情况

uniq

uniq需要和sort一起使用

命令用法
-c在每行前加上表示相应行目出现次数的前缀编号
-d, --repeated只输出重复的行
-D, --all-repeated只输出重复的行,不过有几行输出几行
-f, --skip-fields=N-f 忽略的段数,-f 1 忽略第一段
-i, --ignore-case不区分大小写
-s, --skip-chars=N根-f有点像,不过-s是忽略,后面多少个字符 -s 5就忽略后面5个字符
-u, --unique去除重复的后,全部显示出来,根mysql的distinct功能上有点像
-z, --zero-terminated end lines with 0 byte, not newline
-w, --check-chars=N对每行第N 个字符以后的内容不作对照
--help显示此帮助信息并退出
--version显示版本信息并退出
共有 人打赏支持
粉丝 2
博文 16
码字总数 7535
×
首席攻城狮
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: