文本三剑客试题
目录
1找出/etc/passwd文件下的root开头的行
2找出/etc/passwd 含有root 的行
3找出/etc/passwd 文件中 root开头或 mail 开头的行
4过滤出 /etc/passwd文件中已bin开头的行,并显示行号
5过滤掉/etc/passwd文件中 root开头的行
6.在当前目录下所有.cc 的文件中找到含有“luckyboy”内容的文件
7.找出当前目录下包含127.0.0.1关键字的文件
8.删除或显示1.file 文件第3行到第7行的内容
9.使用awk取出/etc/passwd第一列数据也就是取出用户名
10.用命令行更改config.txt文件,把里面所有的“name”更改为“address”
11.写出查询file.txt以abc结尾的行
12.删除file.txt文件中的空行
13.文件中的空行可能是只有空格的行
14.打印file.txt文件中的第10行
15.删除/etc/fstab文件中所有以#开头的行,行首的#号及#后面的所有空白字符
16.查找最后修改时间是3天前,后缀是.log的文件并删除
17.查找文件中1到20行之间,同时将"aaa"替换为"AAA",“ddd"替换"DDD”
18.使用sed命令打印出文件的第一行到第三行
19.在/var/sync/log/cef_watchd-20080424.1og文件中查找大小写不敏感“mysql"字符串中的命令是
20.把data目录及其子目录下所有以扩展名.txt结尾的文件中包含oldgirl的字符串全部替换为oldboy
21.查看linux服务器ip的命令,同时只显示包含ip所在的行打印出来
22.用awk获取文件中第三行的倒数第二列字段
23.请用shell查询file1里面空行的所在行号
24.显示file文件里匹配foo字串那行以及上下5行、显示foo及前5行、显示foo及后5行
25.查找file.log文件中的包含关键字“helloworld”的内容,及其上下两行的内容重定向保存到1.txt
26.当前系统中没有任何文本编辑器(vi,emacs,vim,edit等),如何过滤掉注释行和空行查看/etc/ssh/sshd_config文件
27.从a.log文件中提取包含“WARNING”或“FATAL”,同时不包含“IGNOR”行,然后,提取以“:”分割的第五个字段
28.文件内容排序、文件行取唯一值的命令分别是
29.awk统计当前主机的并发访问量
30.在每一行后增加一空行?
31.在匹配regex的行之后插入一空行?
32.计算文件行数
33.sed将文件test中第50行中的haiwao改为haiwai
34.替换一个文件/etc/passwd里的这root❌0:0:root:/root:/bin/bash一行第二个root为test
35.打印/etc/passwd的奇数行
1找出/etc/passwd文件下的root开头的行
grep '^root' /etc/passwd
awk '/^root/{print $0}' /etc/passwd
sed -n '/^root/p' /etc/passwd
2找出/etc/passwd 含有root 的行
grep 'root' /etc/passwd
awk '/root/{print $0}' /etc/passwd
sed -n '/root/p' /etc/passwd
3找出/etc/passwd 文件中 root开头或 mail 开头的行
egrep "^root|^mail" /etc/passwd
awk '/^root|^mail/{print $0}' /etc/passwd
4过滤出 /etc/passwd文件中已bin开头的行,并显示行号
grep -n '^bin' /etc/passwd
awk '/^bin/{print NR,$0}' passwd
5过滤掉/etc/passwd文件中 root开头的行
grep -v "^root" /etc/passwd
awk '!/^root/{print $0}' /etc/passwd
6.在当前目录下所有.cc 的文件中找到含有“luckyboy”内容的文件
find -name '*.cc' -exec grep -l luckyboy {} \;
7.找出当前目录下包含127.0.0.1关键字的文件
grep -r '127.0.0.1' `find . -type f`
awk '/127.0.0.1/' `find -type f`
sed -n '/127.0.0.1/p' `find -type f`
8.删除或显示1.file 文件第3行到第7行的内容
删除:
sed -i '3,7d' 1.file
显示:
head -n7 1.file | tail -n 5
awk 'NR>=3&&NR<=7' 1.file
awk 'NR==3,NR==7' 1.file
sed -n '3,7p' 1.file
9.使用awk取出/etc/passwd第一列数据也就是取出用户名
awk -F":" '{print $1}' /etc/passwd
sed -n 's/:.*//p' /etc/passwd
10.用命令行更改config.txt文件,把里面所有的“name”更改为“address”
sed -i 's#name#address#g' config.txt
11.写出查询file.txt以abc结尾的行
grep 'abc$' file.txt
sed -n '/abc$/p' file.txt
awk '/abc$/' file.txt
12.删除file.txt文件中的空行
sed '/^$/d' file.txt
awk '!/^$/' file.txt
grep -v '^$' file.txt
13.文件中的空行可能是只有空格的行
sed -n '/^$/p' file.txt
awk '/^$/' file.txt
grep '^$' file.txt
14.打印file.txt文件中的第10行
awk 'NR==10{print $0}' file.txt
head -n10 file.txt | tail -n 1
sed -n '10p' file.txt
15.删除/etc/fstab文件中所有以#开头的行,行首的#号及#后面的所有空白字符
sed -i '/^#/d' /etc/fstab
16.查找最后修改时间是3天前,后缀是.log的文件并删除
find /tmp/ -type -f -mtime -3 -name ".log" -exec rm -f {} \;
17.查找文件中1到20行之间,同时将"aaa"替换为"AAA",“ddd"替换"DDD”
sed '1,20y/ad/AD/' 2.txt
18.使用sed命令打印出文件的第一行到第三行
awk 'NR>=1&&NR<=3' fstab
head -n 3 fstab
sed -n '1,3p' fstab
19.在/var/sync/log/cef_watchd-20080424.1og文件中查找大小写不敏感“mysql"字符串中的命令是
grep -iw 'mysql' /var/sync/log/cef_watchd-20080424.1og
20.把data目录及其子目录下所有以扩展名.txt结尾的文件中包含oldgirl的字符串全部替换为oldboy
sed -i 's/oldgirl/oldboy/g' `find /data/ -name '*.txt'`
21.查看linux服务器ip的命令,同时只显示包含ip所在的行打印出来
ip a s ens33| sed -n '3p' | awk '{print $2}'| awk -F"/" '{print $1}'
22.用awk获取文件中第三行的倒数第二列字段
awk 'NR==3{print $(NF-1)}' fstab
23.请用shell查询file1里面空行的所在行号
grep -n '^$' file1
awk '/^$/{print NR,$0}' file1
24.显示file文件里匹配foo字串那行以及上下5行、显示foo及前5行、显示foo及后5行
后5行:grep -A5 “foo” file
前5行:grep -B5 “foo” file
前后5行:grep -C5 “foo” file
25.查找file.log文件中的包含关键字“helloworld”的内容,及其上下两行的内容重定向保存到1.txt
grep -C2 'helloworld' file.log >> 5.txt
26.当前系统中没有任何文本编辑器(vi,emacs,vim,edit等),如何过滤掉注释行和空行查看/etc/ssh/sshd_config文件
awk '!/^$|^#/' /etc/ssh/sshd_config
sed -r '/^$|^#/d' /etc/ssh/sshd_config
27.从a.log文件中提取包含“WARNING”或“FATAL”,同时不包含“IGNOR”行,然后,提取以“:”分割的第五个字段
awk -F":" ‘{/WARNING|FATAL/&&!/IGNOR/print $5}’ a.log
28.文件内容排序、文件行取唯一值的命令分别是
sort uniq
29.awk统计当前主机的并发访问量
netstat -nat | awk '/^tcp/{++state[$NF]}END{for(key in state) print key,"\t",state [key]}'
30.在每一行后增加一空行?
sed 'G' 1
31.在匹配regex的行之后插入一空行?
sed ‘/regex/G’ text.txt
32.计算文件行数
wc -l
33.sed将文件test中第50行中的haiwao改为haiwai
sed '50s/haiwao/haiwai/' test
34.替换一个文件/etc/passwd里的这root❌0:0:root:/root:/bin/bash一行第二个root为test
sed '/root/s/:root:/:test:/' /etc/passwd
35.打印/etc/passwd的奇数行
sed -n '1~2p' /etc/passwd