码迷,mamicode.com
首页 > 其他好文 > 详细

字符串处理命令

时间:2020-05-18 22:52:12      阅读:91      评论:0      收藏:0      [点我收藏+]

标签:--   sort   str   pre   日志   ble   域名   family   ash   

字符串处理的命令

字符排序命令-sort

用法:sort [选项]... [文件]...
[root@localhost ~]# cat sort.txt
b:3
c:2
a:4
e:5
d:1
f:11

[root@localhost ~]# sort sort.txt
a:4
b:3
c:2
d:1
e:5
f:11

注意:什么都不加,默认按照首字母排序

-t:指定分隔符(默认空格为分隔符)
-k:指定按照哪一列排序
-n:按照阿拉伯数字大小排序(默认是按照数字的首个字符排序)
-r:倒叙
[root@localhost ~]# sort -t ‘:‘ -k 2 -n sort.txt
d:1
c:2
b:3
a:4
e:5
f:11

[root@localhost ~]# sort  -nrk 2 -t ‘:‘ sort.txt

字符去重命令-uniq

用法:uniq [选项]... [文件]

注意:去重,必须在排好序之后才能去重
-c:count 统计,计数,重复的值有多少

[root@localhost ~]# sort uniq.txt
123
123
456
456
789
abc
abc
abc
abc

[root@localhost ~]# sort uniq.txt|uniq
123
456
789
abc

[root@localhost ~]# sort uniq.txt|uniq -c
      2 123
      2 456
      1 789
      4 abc     

字符截取命令-cut

用法:cut [选项]... [文件]...
-d:指定分隔符
-f:指定区域
-c:按照字符截取

[root@localhost ~]# cut  -d ‘.‘ -f 1-4 ip
[root@localhost ~]# cut -d ‘ ‘ -f 2,6 info.txt |cut -d ‘,‘ -f 2
18 133411023

字符替换命令-tr

[root@localhost ~]# cat info.txt
I‘m zls,18 years old QQ 133411023

[root@localhost ~]# cat info.txt |tr ‘QQ‘ ‘qq‘
I‘m zls,18 years old qq 133411023

统计命令-wc

[root@localhost ~]# wc /etc/services
 11176  61033 670293 /etc/services
 
[root@localhost ~]# wc -l /etc/services
11176 /etc/services

[root@localhost ~]# wc -w /etc/services
61033 /etc/services

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

注意:在wc命令,什么选项都不加的情况下,统计出文件的行数,单词数,和字符数

-l:按照行数统计
-w:按照单词数统计
-c:按照字符数统计

练习题:

1.过滤出/etc/passwd以nologin结尾的内容,并统计行数

[root@localhost ~]# grep ‘nologin$‘ /etc/passwd |wc -l
14

[root@localhost ~]# grep -c ‘nologin$‘ /etc/passwd
14

2.使用ifconfig命令获取当前的IP地址

1. [root@localhost ~]# ifconfig eth0|grep -w ‘inet‘|cut -d ‘ ‘ -f 10
2. [root@localhost ~]# ifconfig eth0|grep ‘netmask‘|cut -d ‘ ‘ -f 10
3. [root@localhost ~]# ifconfig eth0|grep -w ‘inet‘|cut -c 14-23
4. [root@localhost ~]# ifconfig |awk ‘NR==2 {print $2}‘
5. [root@localhost ~]# ifconfig |sed -nr ‘2s#^.*inet (.*)  n.*$#\1#gp‘

3.将/etc/sysconfig/selinux文件中的SELINUX=enforcing替换为SELINUX=disabled

[root@localhost ~]# sed -i ‘s#SELINUX=enforcing#SELINUX=disabled#g‘ /etc/sysconfig/selinux

4.分析如下日志内容,每个域名被访问次数

[root@student tmp]# cat web.log 
http://www.driverzeng.com/index.html
http://www.driverzeng.com/1.html
http://post.driverzeng.com/index.html
http://mp3.driverzeng.com/index.html
http://www.driverzeng.com/3.html
http://post.driverzeng.com/2.html


[root@localhost ~]# cut -d ‘/‘ -f3 web.log |sort |uniq -c
      1 mp3.driverzeng.com
      2 post.driverzeng.com
      3 www.driverzeng.com

5.用普通用户身份登陆虚拟机上完成练习

[root@localhost ~]# useradd zls
MacBook-Pro:~ driverzeng$ ssh zls@10.0.0.200

6.在用户家目录下创建6个文件 song1.mp3 ~ song6.mp3

[zls@localhost ~]$ touch song{1..6}.mp3
-rw-rw-r--. 1 zls zls 0 3月  25 10:01 song1.mp3
-rw-rw-r--. 1 zls zls 0 3月  25 10:01 song2.mp3
-rw-rw-r--. 1 zls zls 0 3月  25 10:01 song3.mp3
-rw-rw-r--. 1 zls zls 0 3月  25 10:01 song4.mp3
-rw-rw-r--. 1 zls zls 0 3月  25 10:01 song5.mp3
-rw-rw-r--. 1 zls zls 0 3月  25 10:01 song6.mp3

7.把上题创建的songX.mp3文件移动到Music目录下(不存在则创建)

[zls@localhost ~]$ mkdir Music

[zls@localhost ~]$ mv song* Music/

8.在用户家目录下创建三个目录,分别为 friends,family,work

[zls@localhost ~]$ mkdir friends
[zls@localhost ~]$ mkdir family
[zls@localhost ~]$ mkdir work

[zls@localhost ~]$ mkdir {friends,family,work}

9.切换到friends目录下,把Music目录下的song1.mp3 ~ song3.mp3 拷贝到当前目录

# 方法1:
[zls@localhost ~]$ cd friends/
[zls@localhost friends]$ cp ../Music/song{1..3}.mp3 .

# 方法2:
[zls@localhost friends]$ cp /home/zls/Music/song{1..3}.mp3 /home/zls/friends/

10.切换到family目录下,把Music目录下的song4.mp3 ~ song6.mp3 移动到当前目录

[zls@localhost family]$ mv ../Music/song{4..6}* .

11.切换到用户主目录

[zls@localhost family]$ cd

12.删除family目录

[zls@localhost ~]$ rm -fr family/

13.切换到friends目录,把目录下的所有文件删除

[zls@localhost friends]$ rm -f ./*

14.切换到主目录,把friends目录删除.

[zls@localhost ~]$ rm -fr friends/

字符串处理命令

标签:--   sort   str   pre   日志   ble   域名   family   ash   

原文地址:https://www.cnblogs.com/mdddm/p/12913068.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!