`

awk常用命令汇总

 
阅读更多

#删除temp文件的重复行
awk '!($0 in array) { array[$0]; print }' temp

#查看最长使用的10个unix命令
awk '{print $1}' ~/.bash_history | sort | uniq -c | sort -rn | head -n 10

#查看机器的ip列表
ifconfig -a | awk '/Bcast/{print $2}' | cut -c 5-19

#查看机器的每个远程链接机器的连接数
netstat -antu | awk '$5 ~ /[0-9]:/{split($5, a, ":"); ips[a[1]]++} END {for (ip in ips) print ips[ip], ip | "sort -k1 -nr"}'

#查看某个进程打开的socket数量
ps aux | grep [process] | awk '{print $2}' | xargs -I % ls /proc/%/fd | wc -l


#查看无线网络的ip
sudo ifconfig wlan0 | grep inet | awk 'NR==1 {print $2}' | cut -c 6-

#批量重命名文件
find . -name '*.jpg' | awk 'BEGIN{ a=0 }{ printf "mv %s name%01d.jpg\n", $0, a++ }' | bash

#查看某个用户打开的文件句柄列表
for x in `ps -u 500 u | grep java | awk '{ print $2 }'`;do ls /proc/$x/fd|wc -l;done

#计算文件temp的第一列的值的和
awk '{s+=$1}END{print s}' temp

#查看最常用的命令和使用次数
history | awk '{if ($2 == "sudo") a[$3]++; else a[$2]++}END{for(i in a){print a[i] " " i}}' |  sort -rn | head

#查找某个时间戳的文件列表
cp -p `ls -l | awk '/Apr 14/ {print $NF}'` /usr/users/backup_dir

#格式化输出当前的进程信息
ps -ef | awk -v OFS="\n" '{ for (i=8;i<=NF;i++) line = (line ? line FS : "") $i; print NR ":", $1, $2, $7, line, ""; line = "" }'

#查看输入数据的特定位置的单个字符
echo "abcdefg"|awk 'BEGIN {FS="''"} {print $2}'

#打印行号
ls | awk '{print NR "\t" $0}'

#打印当前的ssh 客户端
netstat -tn | awk '($4 ~ /:22\s*/) && ($6 ~ /^EST/) {print substr($5, 0, index($5,":"))}'

#打印文件第一列不同值的行
awk '!array[$1]++' file.txt

#打印第二列唯一值
awk '{ a[$2]++ } END { for (b in a) { print b } }' file

#查看系统所有分区
awk '{if ($NF ~ "^[a-zA-Z].*[0-9]$" && $NF !~ "c[0-9]+d[0-9]+$" && $NF !~ "^loop.*") print "/dev/"$NF}'  /proc/partitions

#查看2到100所有质数
for num in `seq 2 100`;do if [ `factor $num|awk '{print $2}'` == $num ];then echo -n "$num ";fi done;echo

#查看第3到第6行
awk 'NR >= 3 && NR <= 6' /path/to/file

#逆序查看文件
awk '{a[i++]=$0} END {for (j=i-1; j>=0;) print a[j--] }'

#打印99乘法表
seq 9 | sed 'H;g' | awk -v RS='' '{for(i=1;i<=NF;i++)printf("%dx%d=%d%s", i, NR, i*NR, i==NR?"\n":"\t")}'

 github地址:https://github.com/zhwj184/shell-work

原文地址:http://www.javaarch.net/jiagoushi/878.htm

 


1
5
分享到:
评论

相关推荐

    Linux常用命令汇总手册.zip

    本手册"Linux常用命令汇总手册.zip"提供了全面的Linux命令参考,帮助用户更高效地在终端进行操作。 首先,我们来看一下一些基础的Linux命令: 1. **ls**:用于列出目录内容,加上 `-l` 参数可以显示详细信息,如...

    AIX 常用命令汇总

    ### AIX常用命令详解 #### 文件与目录操作 **mkdir:创建目录** - **命令格式**:`mkdir dirname` - **功能**:用于在当前目录下创建一个名为dirname的新目录。 **rmdir:删除目录** - **命令格式**:`rmdir ...

    Linux查找替换文本编辑常用命令汇总

    Linux中tail,find,grep,sed,awk等,各个查找替换,常用命令,可以很好 的了解tail,find,grep,sed,awk等各个命令的各个参数的含义和用法,掌握Linux下查找替换的功能

    sed & awk 汇总

    **常用命令:** 1. **替换**: `s/pattern/replacement/flags` - `pattern`: 需要被替换的内容。 - `replacement`: 替换后的结果。 - `flags`: 可选标志,如 `g` 表示全局替换,`i` 表示忽略大小写。 2. **删除*...

    shell常用命令总结

    ### shell常用命令总结 在IT行业的日常开发与运维工作中,熟练掌握shell命令是提升效率、解决问题的关键技能之一。本文将基于提供的文件信息,深入解析一系列常用的shell命令及其应用场景,旨在帮助读者更好地理解...

    shell精华命令汇总

    下面,我们将深入探讨几个重要的shell命令,这些命令在日常工作中极为常用,堪称“shell精华”。 ### 更多命令(more) `more` 命令允许用户分页查看大型文件的内容。这对于阅读或检查大文件特别有用,因为默认...

    Sed与awk第二版(中文高清版)

    3. 数据重组:awk能够重组数据,按照不同的字段和记录进行排序和汇总。 4. 自动变量:提供了像NR、NF、$0等自动变量,用于引用当前行号、字段数和整行内容。 5. 编程功能:具有条件判断、循环控制、数组等编程语言...

    awk教程--别人家的笔记

    #### 七、awk常用选项 - **-v**:用于在程序执行前为变量赋值。 - 示例:`awk -v name="xin" 'BEGIN{print "name is: " name}'` - **--dump-variables[=file]**:将全局变量及其值输出到指定文件,默认文件名为`...

    Linux系统常用命令及连接工具

    首先,让我们详细探讨"Linux命令汇总"。在Linux系统中,命令行是日常操作的核心工具。例如,`ls`用于列出目录内容,`cd`用于切换目录,`mkdir`创建新目录,`rm`删除文件或目录,`cp`和`mv`分别用于复制和移动文件或...

    常用的60个Linux常用命令.zip

    本资料"常用的60个Linux常用命令.zip"汇总了Linux环境中最常用且实用的命令,旨在帮助初学者快速上手和提高工作效率。 1. **ls**:列出目录内容,常用于查看当前目录下的文件和子目录。 2. **cd**:改变工作目录,...

    大一linux常用命令大全笔记

    这些只是Linux常用命令的一部分,随着学习深入,你还将接触到更多高级命令和工具,如`grep`的正则表达式、`sed`文本流编辑器、`awk`处理文本数据,以及shell脚本编程等。熟练掌握这些命令将大大提高你在Linux环境下...

    LINUX命令汇总大全

    以下是对标题“LINUX命令汇总大全”中提及的常用Linux命令的详细解释: 1. **查看内核信息**:`uname -a` 命令用于显示系统的内核版本、架构、主机名等信息。 2. **查看Ubuntu版本**:`cat /etc/issue` 或 `lsb_...

    linux常用命令大汇总

    linux常用命令其中有一些命令用“有用”已经不足以形容她的“可爱”,希望各位朋友不要过于“咬文嚼字”。另外,回答中的指令多达六七十个,当时实施过程中,由于对指令的不熟悉,为了不至于“误人子弟”,还要查阅...

    Linux实用的命令技巧汇总分析.docx

    下面将详细解析几个常用命令的功能和用法。 1. **man命令**:`man`是manual的缩写,它用于查看Linux命令的帮助文档。通过在终端输入`man [command]`,用户可以获取关于特定命令的详细信息,如`man ls`会展示ls命令...

    sed与awk教程

    2. **常用命令** - `a\`:在当前行之后添加一行文本。 - `i\`:在当前行之前插入一行文本。 - `c\`:用指定的文本替换当前行。 - `d`:删除当前行。 - `p`:打印当前行。 - `n`:读取下一行,并不执行脚本中的...

    shell script之awk讲解

    **awk详解** awk是一种强大的文本分析工具,常用于处理数据文件,特别是在Unix/Linux环境中。...对于初学者来说,理解awk的基础概念和常用语法,可以极大地提高在Shell脚本中处理文本数据的效率。

Global site tag (gtag.js) - Google Analytics