专题网站建设工作,个人网店和网站的区别,wordpress页面右下角,沈阳口碑最好的男科医院文章目录 cut参数指定范围命令 awk参数内置变量命令 wc参数命令 uniq参数命令 sort参数命令 head参数 cut
参数
选项含义-b仅显示行中指定直接范围的内容-c仅显示行中指定范围的字符-d指定分割符#xff0c; 默认为“TAB”制表符-f显示指定字段的内容-n与“-b”连用#xf… 文章目录 cut参数指定范围命令 awk参数内置变量命令 wc参数命令 uniq参数命令 sort参数命令 head参数 cut
参数
选项含义-b仅显示行中指定直接范围的内容-c仅显示行中指定范围的字符-d指定分割符 默认为“TAB”制表符-f显示指定字段的内容-n与“-b”连用不分割多字节字符–complement补足被选择的字节字符或字段–out–delimiter字段分割符指定输出内容是的字段分割符
指定范围
N-从第N个字节、字符、字段到结尾
N-M从第N个字节、字符、字段到第M个包括M在内字节、字符、字段
-M从第1个字节、字符、字段到第M个包括M在内字节、字符、字段。
对应选项
-b 表示字节
-c 表示字符
-f 表示定义字段命令
cat test
NAME GENDER HEIGHT(cm) MONTH SALARY
zhao male 150 1 1000
qian female 165 0 500
zhou male 155 5 3000
zheng female 167 4 3400
wang male 158 3 8000cut test -c1,3
cut test -b1,3
NM
za
qa
zo
ze
wncut -c1-3 test
cut -b1-3 test
NAM
zha
qia
zho
zhe
wancut -f1-3 test
NAME GENDER HEIGHT(cm)
zhao male 150
qian female 165
zhou male 155
zheng female 167
wang male 158cut -c1-3 --complement test
E GENDER HEIGHT(cm) MONTH SALARY
o male 150 1 1000
n female 165 0 500
u male 155 5 3000
ng female 167 4 3400
g male 158 3 8000cut -f3- --complement test
NAME GENDER
zhao male
qian female
zhou male
zheng female
wang malecut -b3- --complement test
NA
zh
qi
zh
zhawk
参数
awk [选项参数] pattern1{action1} pattern2{action2}... filename
-F指定输入文件拆分隔符。
-v赋值一个用户定义变量。
-f引入awk执行脚本。读入有’\n’换行符分割的一条记录然后将记录按指定的域分隔符划分域填充域$0则表示所有域,$1表示第一个域,$n表示第n个域,$NF表示文本行中的最后一个数据字段。默认域分隔符是空白键 或 “[tab]键”内置变量
变量说明FILENAMEawk浏览的文件名NR已读的记录数NF浏览记录的域的个数
命令
cat test
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/haltawk -F: /^root/{print $7} test
/bin/bash^在root前表示以指定字符开头如果没有则表示有指定字符的行位置不限 awk -F: /^root/{print $1,$7} test
root,/bin/bashawk -v i1 -F: {print $3i} test
1
2
3
4
5
6
7
8awk -F : -f a test
root 0 /bin/bash
bin 1 /sbin/nologin
daemon 2 /sbin/nologin
adm 3 /sbin/nologin
lp 4 /sbin/nologin
sync 5 /bin/sync
shutdown 6 /sbin/shutdown
halt 7 /sbin/haltcat a
{print $1,$3,$NF}awk -F : BEGIN{print user, shell} {print $1,$7} END{print coleak,/bin/xixixi} test
user, shell
root,/bin/bash
bin,/sbin/nologin
daemon,/sbin/nologin
adm,/sbin/nologin
lp,/sbin/nologin
sync,/bin/sync
shutdown,/sbin/shutdown
halt,/sbin/halt
coleak,/bin/xixixiawk -F: {print filename: FILENAME , linenumber: NR ,columns: NF} test
filename:test, linenumber:1,columns:7
filename:test, linenumber:2,columns:7
filename:test, linenumber:3,columns:7
filename:test, linenumber:4,columns:7
filename:test, linenumber:5,columns:7
filename:test, linenumber:6,columns:7
filename:test, linenumber:7,columns:7
filename:test, linenumber:8,columns:7awk /^$/{print NR} test 查询test中空行所在的行号 awk NR3{print $0} test 输出test第3行的所有数据 awk -F: $1root{print $0} test 输出第一个字段为root所在的行 head -2 /proc/meminfo | awk NR1{a$2}NR2{b$2;print (a-b)\*100/a %} 查看已使用的内存 wc
参数
-l , --lines : 显示行数
-w , --words : 显示字数
-m , --chars : 显示字符数
-c , --bytes : 显示字节数
-L , --max-line-length : 显示最长行的长度
命令直接执行输出包含四项分别代表行数、字数、字节数、文件。
字数是指以空格、tab、换行分隔的非零长度字符。例子中每行属于一个字所以输出10。命令
wc test test2 8 8 293 test10 10 444 test218 18 737 总计wc -l test
wc -w test
wc -m test
wc -c test
wc -L testuniq uniq命名用于比较相邻的行并去掉重复的行对不相邻的行无效如果使用该命令不加任何命令行参数则视为删除文本文件中重复的行之后进行输出如果指定输出文件则删除到指定文件当中 参数
-cuniq的命令行参数在每列旁边显示重复出现的次数
-uuniq的命令行参数显示文件当中只出现一次的行
-duniq的命令行参数显示文件当中重复的行命令
cat test
root:x:0:0:root:/root:/bin/bash
root:x:0:0:root:/root:/bin/bash
root:x:0:0:root:/root:/bin/bash
adm:x:3:4:adm:/var/adm:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/haltuniq test
root:x:0:0:root:/root:/bin/bash
adm:x:3:4:adm:/var/adm:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/haltuniq test test3 输出内容放到test3 uniq test -c
3 root:x:0:0:root:/root:/bin/bash
1 adm:x:3:4:adm:/var/adm:/sbin/nologin
1 bin:x:1:1:bin:/bin:/sbin/nologin
1 daemon:x:2:2:daemon:/sbin:/sbin/nologin
2 adm:x:3:4:adm:/var/adm:/sbin/nologin
1 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
1 sync:x:5:0:sync:/sbin:/bin/sync
1 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
1 halt:x:7:0:halt:/sbin:/sbin/haltuniq test -dc
3 root:x:0:0:root:/root:/bin/bash
2 adm:x:3:4:adm:/var/adm:/sbin/nologinsort
参数
选项说明-n依照数值的大小排序-r以相反的顺序来排序-t设置排序时所用的分隔字符-k指定需要排序的列-u在输出行中排序并去除重复行-o将排序结果写入文件中
-f会将小写字母都转换为大写字母来进行比较亦即忽略大小写-c会检查文件是否已排好序如果乱序则输出第一个乱序的行的相关信息最后返回1-C会检查文件是否已排好序如果乱序不输出内容仅返回1-M会以月份来排序比如JAN小于FEB等等-b会忽略每一行前面的所有空白部分从第一个可见字符开始比较。
命令
cat sort.txtbxmb:20:4.2
xfet:50:2.3
clsuh:10:3.5
sewp:30:1.6
xfam:50:2.3
xfet:50:2.3sort sort.txt -t : -nrk 3
bxmb:20:4.2
clsuh:10:3.5
xfet:50:2.3
xfet:50:2.3
xfam:50:2.3
sewp:30:1.6sort -t: -uk 1 sort.txt
bxmb:20:4.2
clsuh:10:3.5
sewp:30:1.6
xfam:50:2.3
xfet:50:2.3sort -t: -rk 1.2 sort.txt
bxmb:20:4.2
clsuh:10:3.5
xfet:50:2.3
xfet:50:2.3
xfam:50:2.3
sewp:30:1.6-k 1.2表示对第一个域的第二个字符开始到本域的最后一个字符为止的字符串进行排序。 sort -t: -rk 1.2,1.2 sort.txt -o sort2.txt
bxmb:20:4.2
clsuh:10:3.5
xfet:50:2.3
xfet:50:2.3
xfam:50:2.3
sewp:30:1.6-k 1.2,1.2表示只对第一个域的第二个字符进行排序 head
参数 head -n 10 test
head -n -5 test #显示文件除了最后5行以外的全部内容
head -n -5 ./* -v