`

shell-sort-wc-uniq

阅读更多
1、准备数据
格式:
pgj.trade.baidu.com
chy.guoji.baidu.com
ndd.trade.baidu.com
cmt.trade.baidu.com
....

2、cut分割

-d, --delimiter=DELIM use DELIM instead of TAB for field delimiter

-f, --fields=LIST select  only  these  fields;   also  print any line that contains no delimiter character, unless the -s option is specified

 cut -d. -f2 domain.txt 


3、排序-sort

-b   忽略每行前面开始出的空格字符。
  -c   检查文件是否已经按照顺序排序。
  -f   排序时,忽略大小写字母。
  -M   将前面3个字母依照月份的缩写进行排序。
  -n   依照数值的大小排序。
  -o<输出文件>   将排序后的结果存入指定的文件。
  -r   以相反的顺序来排序。
  -t<分隔字符>   指定排序时所用的栏位分隔字符。
  -k  选择以哪个区间进行排序。

cut -d. -f2 domain.txt |sort


4、取唯一值-uniq

默认输出唯一行

-c, --count  prefix lines by the number of occurrences
-d, --repeated  only print duplicate lines
-u, --unique  only print unique lines

  cut -d. -f2 domain.txt |sort|uniq -c


5、再排序-sort

-t, --field-separator=SEP 指定分隔符 use SEP instead of non-blank to blank transition
-n, --numeric-sort 按数字格式排序 compare according to string numerical value
-f, --ignore-case 不考虑大小写  fold lower case to upper case characters
-r, --reverse 反转 reverse the result of comparisons

-g, --general-numeric-sort  compare according to general numerical value

cut -d. -f2 domain.txt |sort|uniq -c|sort -n
cut -d. -f2 domain.txt |sort|uniq -c|sort -nr
cut -d. -f2 domain.txt |sort |uniq -c|sort -g
cut -d. -f2 domain.txt |sort|uniq -c|sort -nr|head -2
sort domain.txt -t. -k2


-k:指定排序的字符开始和结束位置
-k, --key=POS1[,POS2]  start a key at POS1, end it at POS2 (origin 1)

data:
12.12.45.4
36.415.545.45
9.45.15.15
154.45.45
 sort a.txt -t. -k2

output:
12.12.45.4
36.415.545.45
9.45.15.15
154.45.45
 sort a.txt -t. -k1

output:
12.12.45.4
154.45.45
36.415.545.45
9.45.15.15

case:
atnodes "zgrep validateOrder.jsp /server/tts/logs/tts.log.2014-10-30-1*.gz" l-ttsi[1-10].f.cn1 |grep "RequestError"|awk -F '&id=' '{print $2}'|awk -F'&' '{print $1}'|sort|uniq|wc
0
1
分享到:
评论

相关推荐

    Shell 分析日志文件高效命令详解.docx

    这条命令将 log_file 文件中的每一行数据都输出到标准输出,然后使用 sort 和 uniq 命令对输出结果进行排序和去重,最后使用 wc 命令统计输出结果的行数。 2. 查看某一个页面被访问的次数 使用 grep 和 wc 命令...

    shell脚本入门学习--学习资料

    - **Unix命令**:例如`echo`、`ls`、`wc`、`cp`、`mv`、`rm`、`grep`、`cut`、`cat`、`file`、`read`、`sort`、`uniq`、`expr`、`find`、`tee`、`basename`、`dirname`、`head`、`tail`、`sed`和`awk`等。...

    Linux-shell脚本全面学习.pdf

    + `wc`:计算文件行数、单词数和字符数 + `cp`:文件拷贝 + `mv`:重命名文件或移动文件 + `rm`:删除文件 + `grep`:在文件搜索字符串 + `cut`:指定欲显示的文件容围 + `cat`:输出文件容到标准输出设备 +...

    nginx-log-analysis:用于分析 nginx 日志文件的很棒的 linux shell 命令的精选列表

    awk '{print $7}' /var/log/nginx/access.log | sort | uniq -c | sort -rn ``` 3. **`cut`**:提取指定列。若只关心IP和状态码,可使用: ``` cut -d ' ' -f 1,6 /var/log/nginx/access.log ``` 4. **`date`...

    shell介绍-基础语法方面

    `cut`用于提取文件的部分内容,`cat`用于显示文件内容,`file`用于确定文件类型,`read`用于从用户那里获取输入,`sort`用于排序,`uniq`用于去除重复行,`expr`用于执行数学运算,`find`用于查找文件,`tee`用于...

    shell ,txt

    - 示例:`sort file.txt | uniq` - `expr`: 进行简单的算术运算。 - 示例:`expr 2 "+" 3`(计算结果为 5) - `find`: 在目录树中查找文件。 - 示例:`find . -name "filename" -print` - `tee`: 将标准输出同时...

    linux-Shell脚本管理

    - **排序命令**:`sort`进行排序,`uniq`去除重复行,`wc`计算行数、单词数和字符数。 - **双向重定向**:`tee`命令同时将输出发送到屏幕和文件。 - **字符转换命令**:`tr`转换字符,`join`合并两个有序文件,`...

    Unix shell教程

    - `wc -l`, `wc -w`, `wc -c`:分别计算文件的行数、单词数和字符数。 - `cp sourcefile destfile`:复制文件。 - `mv oldname newname`:重命名或移动文件。 - `rm file`:删除文件。 - `grep 'pattern' file`:在...

    unix shell程序集锦

    sort -m &lt;(sort A | uniq) &lt;(sort B | uniq) &lt;(sort B | uniq) | uniq -u ``` 使用`sort`和`uniq`命令处理文件A和B的交集、并集和差集。 12. **查找含有指定字符串的文件**: ```bash for file in $(ls $2); ...

    shell基础学习资料

    - `uniq`:从排序后的文件中移除重复行。 - `expr`:执行算术运算。 - `find`:在文件系统中搜索文件。 - `tee`:将数据发送到标准输出以及保存到文件。 - `basename`:返回文件名部分。 - `dirname`:返回...

    史上最全的 Linux Shell 文本处理工具集锦.doc

    本文将深入讲解一些最常用的Shell工具,包括find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed和awk,以及如何利用它们来处理文本。 ### 01 find - 文件查找 `find`命令用于在文件系统中查找符合特定条件的...

    Linux-shell脚本全面学习.doc

    - `wc`:计算文件的行数、单词数、字符数。 - `cp`:复制文件。 - `mv`:移动或重命名文件。 - `rm`:删除文件。 - `grep`:在文件中搜索特定模式。 - `cut`:提取文件的部分内容。 - `cat`:显示文件内容。 ...

    linux shell脚本

    - `wc`:统计输入的字节数、字数、行数等。 - `cp`:复制文件或目录。 - `mv`:移动文件或重命名文件。 - `rm`:删除文件或目录。 - `grep`:在文件中搜索匹配正则表达式的行。 - `cut`:从文件中剪切字段或字节。 -...

    实验三-LINUX-SHELL编程.doc

    这一部分的具体实现取决于实际需求,可能需要用到的数据处理命令包括但不限于`awk`、`sed`、`sort`、`uniq`等。 #### 结论 通过本次实验的学习与实践,不仅可以增强对LINUX SHELL编程基础的理解,还能掌握一系列...

    shell教程(一个很不错的bash脚本编写教程)

    - `uniq`: 过滤文件中的重复行。 - `expr`: 进行算术运算。 - `find`: 搜索文件系统中的文件。 - `tee`: 将标准输出写入文件并显示在屏幕上。 - `basename`和`dirname`: 提取文件名或目录名。 - `head`和`tail...

    详细介绍Linux-shell脚本基础学习

    - `wc -l filename -w filename -c filename`:统计文件中的行数、单词数和字符数。 - `cp sourcefile destfile`:复制文件。 - `mv oldname newname`:重命名文件或移动文件。 - `rm file`:删除文件。 - `grep '...

    linux-shell脚本学习

    Unix命令如echo、ls、wc、cp、mv、rm、grep、cut、cat、file、read、sort、uniq、expr、find、tee、basename、dirname、head、tail、sed、awk等,这些命令大多用于文件操作和文本处理。 管道(|)是一个非常强大的...

    shell 入门 shell 入门

    - `wc`:统计文件的行数、单词数和字符数。 - `cp`:复制文件。 - `mv`:重命名或移动文件。 - `rm`:删除文件。 - `grep`:在文件中搜索特定模式。 - `cut`:提取文件内容的特定部分。 - `cat`:显示文件...

Global site tag (gtag.js) - Google Analytics