day 08 awk sed作业

摘要:
有几种方法可以实现oldboyoldgirlqiudaogerp-v'qiudao'测试。txtsed'/qiudao/d'测试。txtawk'!Sed-i的#123#def#g'b.txt9.在测试的第10行中更改旧男孩。txt到oldgirlsed-i'10s#oldboy#oldgirl#g'test.txt10。请执行该命令以获取Linux中eth0的IP地址。[ root@mpd~]#Sed-i'1,3d'passwdawk'NR˃3'密码13.使用Sed命令将/etc/passwd文件Sed-n'1,3p'/etc/passwd14的第一行打印到第三行。筛选出/etc/services文件包含3306或1521。将“Failedpassword”设置为安全。log | sort | uniq-c | sort nr20。输入last以计算当前连接到本地计算机的每个远程终端IP的连接总数[root@mpd~]#Last|sort|uniq-c|sort-n21.输入lscpu并获取当前系统的cpu核数[root@mpd~]#Lscpu|sed-n'6p'readpercore:122.输入df-h以获取当前系统根分区的剩余可用磁盘空间[root@mpd~]#df-h|sed-n'2p'|sed编号#(.*)(8.*)#2#gp'18G[root@mpd~]#Df-h|awk'NR==2'|awk'{print$4}'18G23.在/proc/meminfo[root@mpd~]#Grep-i“^s”/pro/meminfo 24.执行命令echo“Iamqls,myqqis176494252”˃/oldboy/oldboy.txt。现在需要从文件中过滤出“qls”和“1176494252”字符串。请发出命令?

1.取出系统中的文件/etc/passwd的第七列(以:为分隔符)。

[root@mpd ~]# awk -F: '{print $7}' passwd
[root@mpd ~]# cut -d ':' -f 7 passwd

2.已知文件test.txt内容如下,请给出输出test.txt文件内容时,不包含oldboy字符串的命令。

test
qiudao
oldboy

grep -v 'oldboy' test.txt
sed -n '/oldboy/d' test.txt
awk '!/oldboy/' test.txt

3.只查看/etc/passwd文件内第5到第15行的内容***

sed -nr '5,15p' /etc/passwd
awk 'NR==5,NR==15' passwd
awk 'NR>=5 && NR<=15' passwd

4.把test.txt文件中的oldboy替换为oldgirl,给出命令

[root@mpd ~]# sed -ir 's#oldboy#oldgirl#g' test.txt

5.test.txt 的内容如下,要求过滤出不包含qiudao的行。有几种方法可以实现

oldboy
oldgirl
qiudao
grep -v 'qiudao' test.txt 
sed '/qiudao/d' test.txt
awk '!/qiudao/' test.txt

6.把文件/etc/passwd文件中的/sbin/nologin替换为/bin/bash

[root@mpd ~]# sed -i 's#sbin/nologin#bin/bash#g' passwd 
vim /etc/passwd 进入编辑模式输入:%s#/sbin/nologin#/bin/bash#g

7.把/etc/selinux/config文件中的SELINUX=enforcing行中的enforcing替换成disabled

sed -i 's#enforcing#disabled#g' /etc/selinux/config

8.现将文件b.txt 中的所有123 替换成def,请问如何实现?

sed -i 's#123#def#g' b.txt

9.将文件的test.txt中的第10行的oldboy改为oldgirl

sed -i '10s#oldboy#oldgirl#g' test.txt

10.请执行命令取出linux中eth0的IP地址(请用cut,有能力者也可分别用awk,sed命令答)。

[root@mpd ~]# ip a s eth0 | head -3 | tail -1 | cut -d ' ' -f6 | tr -d '/24'
10.0.0.100
[root@mpd ~]# ip a s eth0 | sed -n '3p' | sed -r 's#(^.*inet )(.*)(/24.*)#2#g' 
10.0.0.100
[root@mpd ~]# ip a s eth0 | awk 'NR==3' | awk -F '[ /]*' '{print $3}'

11.使用命令调换/etc/passwd文件里 root 位置和/bin/bash 位置? 即将所有的第一列和最后一列位置调换?

[root@mpd ~]# sed -rn 's#(^.*)(:x.*:)(.*)#321#gp' passwd
[root@mpd ~]# awk -F '[:]' -vOFS=":"  '{a=$1;$1=$7;$NF=a;print}' passwd

12.先拷贝,再删除/etc/passwd文件的前三行内容。

[root@mpd ~]# sed -i '1,3d' passwd
awk 'NR>3' passwd 

13.使用sed命令打印出/etc/passwd文件的第一行到第三行

sed -n '1,3p' /etc/passwd

14.过滤出/etc/services 文件包含3306或1521两数字所在的行的内容。(三种方法)

[root@mpd ~]# sed -rn '/3306|1521/p' /etc/services
awk '/3306|1521/' /etc/services
grep -E '3306|1521' /etc/services

15.在linux 系统中,当LAN(局域网)内没有条件记案例DNS 服务器,***
但又想让局域网内的用户可以使用计算机名互相访问时,应配置(/etc/hosts )文件(请写全路径)


16.写出redhat中,配置网卡及dns的配置文件是什么?有什么区别?***

#  即是配置网卡也是dns配置文件/etc/sysconfig/network-scripts/ifcfg-eth0 
#  重启网卡配置文件才能生效
#  dns 配置文件 /etc/resolv.conf  立即生效

17.若要将鼠标从VM中释放出来,可按()键完成。

ctrl+AIt

18.如何统计/etc下有多少个目录,不包括隐藏目录,只显示目录个数。

[root@mpd ~]# tree -d /etc/ | tail -1
611 directories

19.统计secure.log文件中每个ip地址破解你用户密码的次数(包含Failed password字符串的行属于破解密码的,
日志群里有,文件很大,建议不要使用cat打开)。

grep 'Failed password' secure.log | sort | uniq -c | sort -nr

20.输入last,统计当前连接本机的每个远程终端IP的连接总次数

[root@mpd ~]# last | sort | uniq -c | sort -n

21.输入lscpu,取出当前系统的cpu核心数

[root@mpd ~]# lscpu | sed -n '6p'
Thread(s) per core:    1

22.输入df -h,取出当前系统根分区剩余可用磁盘空间

[root@mpd ~]# df -h | sed -n '2p' | sed -nr 's#(.*1.4G  )(.*)(   8.*)#2#gp'
 18G

[root@mpd ~]# df -h |awk 'NR==2' | awk  '{print $4}'
18G

23.显示文件/proc/meminfo中以s开头的行(忽略大小写)

[root@mpd ~]# grep -i '^s' /pros/meminfo

24.执行命令echo "I am qls,myqq is 1176494252">/oldboy/oldboy.txt,
现在需要从文件中过滤出“qls”和“1176494252”字符串,请给出命令?(最少三种方法)

[root@mpd ~]# awk -F '[ ,]' '{print$3,$NF}' oldboy.txt 
qls 1176494252
[root@mpd ~]# sed -nr 's#(.*m )(.*)(,.*s)(.*)#24#pg' oldboy.txt 
qls 1176494252
[root@mpd ~]# tr ',' ' ' < oldboy.txt  | cut -d ' ' -f3,6
qls 1176494252

25.接上题,如果需要从文件中过滤出“qls,1176494252”字符串,请再给出命令?

[root@mpd ~]# sed -nr 's#(.*m )(.*)(my.*s )(.*)#24#gp' oldboy.txt 
qls,1176494252
[root@mpd ~]# awk -F '[ ,]' '{print$3","$6}' oldboy.txt 
qls,1176494252

26.我想在/data/oldboyedu目录下面创建 一个oldboy.txt文件,出现了如下报错。

[root@qiudao ~]# touch /data/oldboyedu/oldboy.txt
touch: cannot touch ‘/data/oldboyedu/oldboy.txt’: No such file or directory
问:为何出现这样的错误?该怎么解决?
data/oldboyedu/ 两个目录一个或者两个都不存在 先创建目录在创建文件

27.翻译题

01).command not found  				命令找不到				   
02).No such file or directory  		没有这样的额目录或者目录	   
03).File exists  					文件不存在		
04).Is a directory  				这是个目录		
05).Not a directory  				不是一个目录

28.在/backup下创建10个.txt的文件,找到/backup目录下所有后缀名为.txt的文件

mkdir -p /backup/{1..10}.txt
find /backup -type f -name '*.txt'

29.显示/etc/services文件的第10行到第20行的内容?

[root@mpd ~]# sed -n '10,20p' /etc/services
[root@mpd ~]# awk 'NR>=10 && NR<=20' /etc/services

30.显示文件/etc/services的大小?

[root@mpd ~]# wc -c /etc/services

31.以“:”为分隔符,取出/etc/passwd第一行的第七列也就是最后一列的内容?(两种方法)

[root@mpd ~]# sed -n '1p' /etc/passwd | awk -F: '{print $7}'
/bin/bash
[root@mpd ~]# head -1 passwd | cut -d ':' -f 7 
/bin/bash

32.找出/var/log目录中以.log结尾的文件,并显示这些文件的属性信息。

[root@mpd ~]# ll /var/log/*.log

33.寻找名称为mytest.log的文件

find / -type f -name 'mytest.log'

34.用命令行更改config.txt文件,把里面的“name”更改为“address”

sed -i 's#name#address#g' config.txt

35.把/etc/passwd文件中的:替换成#

sed -i 's#:###g' /etc/passwd

36.说明下面这几个文件的作用:/etc/hostname、/etc/resolv.conf、/etc/hosts

/etc/hostname: 主机名的配置文件
/etc/resolv.log: dns根服务解析文件
/etc/hosts :主机名与ip地址映射关系的文件

37.尝试使用sed命令的后向引用和awk命令取出ip地址,请分别使用ip和ifconfig命令取出。

[root@mpd ~]# ip a s eth0 | sed -nr '3s#(.*t )(.*)(/.*)#2#gp'
10.0.0.100
[root@mpd ~]# ifconfig eth0 | sed -nr '2s#(.*et )(.*)(  net.*)#2#gp'
10.0.0.100
[root@mpd ~]# ip a s eth0 |awk ''NR==3| awk -F '[ /]*' '{print$3}'
10.0.0.100
[root@mpd ~]# ifconfig eth0 | awk 'NR==2' | awk -F '[ ]*' '{print$3}'
10.0.0.100

38.在123.txt文件末尾插入‘test’。(两种方法)

sed -i '$atest' 123.txt
echo 'test' >> 123.txt

39.将/etc/passwd文件中第一行到第五行的root替换为admin?

sed -ir '1,5s#root#admin#g' /etc/passwd

40.统计nginx访问日志access.log中每个访问ip出现次数最多的10个。(已知ip在第一列,日志群里有)

[root@mpd ~]# sed -nr 's#(.*)( - -.*)#1#gp' access.log | sort |uniq -c | sort -nr | head -10
  16033 139.226.172.217
   1041 47.102.42.79
    994 180.95.238.82
    727 113.140.249.33
    647 223.166.74.124
    525 112.87.125.55
    429 182.138.163.167
    373 112.87.125.53
    352 223.166.74.198
    308 182.138.158.169

41.取出下列文件的权限如:0644 ?(两种方法)

[root@qls ~]# stat  qls.txt 
  File: ‘123.txt’
  Size: 44        	Blocks: 8          IO Block: 4096   regular file
Device: 803h/2051d	Inode: 67160518    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-07-27 16:55:57.055131412 +0800
Modify: 2019-07-27 16:55:50.098131214 +0800
Change: 2019-07-27 16:55:50.101131214 +0800

stat qls.txt | sed -nr '4s#(.*ss: ()(.*)(/-r.*)#2#gp'

42.删除qls.txt文件中的第10行到20行。(两种方法)

sed -i '10,20d' qls.txt
awk 'NR<10||NR>20' passwd | xargs -L 1 echo >> hello; mv -f hello passwdr
vim qls.txt :10,20d

免责声明:文章转载自《day 08 awk sed作业》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Django相关问题linux 非root用户安装nginx下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

VSFTPD虚拟用户配置

转载:http://www.cnblogs.com/allenjin/archive/2011/12/03/2274542.html 以下操作验证OK!!!! VSFTPD虚拟用户配置VSFTP = Very Secure FTP1.VSFTP在单机(非集群)上支持4000个以上的并发用户同时连接2.根据RedHat的Ftp服务器(ftp.redhat.c...

Crontab 错误分析及不执行原因

CronCron is a time-based job scheduler in Unix-like computer operating systems.The name cron comes from the world chronograph(a time-piece).Cron enables users to schedule jobs(com...

linux-基础命令

目录 文件管理 文件查看cat 更改文件权限chmod 改属主属组chown 对比文件diff 文件查看head/tail/more/less实时监控日志 文件移动更名mv 文件删除rm 文件分割split 新建文件touch 文件预设权限umask 文件查找which 文件复制cp 文件查找whereis 远程文件复制scp 文档编辑...

linux配置SOCK5代理

一.llinux环境安装 yum update yum install pam-devel openldap-devel openssl-devel yum -y install gcc yum -y install gcc-c++ 二.sock5安装 cd /opt wget http://downloads.sourceforge.net/pr...

zabixx安装

server端部署 IP:192.168.88.42 环境检查 安装(使用yum安装) #安装zabbix源、aliyun YUM源 curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo curl -o /etc/yum.repos.d...

Centos之文件搜索命令find

find [搜索范围] [搜索条件] #搜索文件 find / -name install.log #避免大范围搜索,会非常耗费系统资源 #find是在系统当中搜索符合条件的文件名。如果需要匹配, 使用通配符匹配,通配符是完全匹配。 [root@localhost ~]# ls 222  anaconda-ks.cfg  牛逼  牛牛 [root@loca...