Linux的命令及三剑客(grep sed awk )

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux的命令及三剑客(grep sed awk )相关的知识,希望对你有一定的参考价值。

令的介绍
1.1 mv 修改兼移动命令
1.1.1 移动命令mv

1.1.2 修改命令mv
[[email protected] ~]# mv oldboy.txt oldgirl.txt
mv: cannot stat `oldboy.txt‘: No such file or directory
[[email protected] ~]# ls -l
total 44
-rw-------. 1 root root 1161 Jul 13 18:28 anaconda-ks.cfg
drwxr-xr-x. 2 root root 4096 Jul 13 18:33 data
-rw-r--r--. 1 root root 21736 Jul 13 18:28 install.log
-rw-r--r--. 1 root root 5890 Jul 13 18:25 install.log.syslog
1.2 rm 命令删除使用绝对地址
1.2.1 强制删除rm -f
[[email protected] data]# rm -f /root/data/oldgirl.txt
[[email protected] data]# ls -l /root/data/
total 12
-rw-r--r--. 1 root root 7 Jul 11 02:13 alex.txt
-rw-r--r--. 1 root root 14 Jul 11 01:16 lidao.txt
-rw-r--r--. 1 root root 254 Jul 11 02:56 oldboy.txt.bak
1.2.2 强制删除目录rm –fr/rf
[email protected] data]# rm -rf /tmp/data/
[[email protected] data]# ls -l /tmp/data
ls: cannot access /tmp/data: No such file or directory

rm -rf /tmp/data/
rm -fr /tmp/data/
1.3 创建环境touch
touch /root/oldboy.txt /root/alex.txt /root/lidao.txt
1.4 find查找文件
1.4.1 #find命令
[[email protected] data]# #find 在××× -类型 f -名字 "oldboy.txt"
[[email protected] data]#
[[email protected] data]# find /root/ -type f -name "oldboy.txt"
/root/oldboy.txt
-type 找什么类型的 f file (文件)
d directory (目录)
-name "叫什么名字的"

1.4.2 find+ |xargs 配合
找出文件交给|xgars 注意“|”的意思是把前一个的命令出传递给后一个命令
1.4.3 查找以.txt为后缀的所有文件

oldboy.txt lidao.txt alex.txt
[[email protected] data]# find /root/ -type f -name ".txt"
/root/oldboy.txt
/root/lidao.txt
/root/alex.txt
/root/data/lidao.txt
/root/data/alex.txt
[[email protected] data]# #
所有字符 任意字符

[[email protected] data]# find /root/ -type f -name ".txt"
/root/oldboy.txt
/root/lidao.txt
/root/alex.txt
/root/data/lidao.txt
/root/data/alex.txt
[[email protected] data]# find /root/ -type f -name "
.txt"|xargs ls -l
-rw-r--r--. 1 root root 0 Jul 11 03:21 /root/alex.txt
-rw-r--r--. 1 root root 7 Jul 11 02:13 /root/data/alex.txt
-rw-r--r--. 1 root root 14 Jul 11 01:16 /root/data/lidao.txt
-rw-r--r--. 1 root root 0 Jul 11 03:21 /root/lidao.txt
-rw-r--r--. 1 root root 0 Jul 11 03:21 /root/oldboy.txt
1.5 写出上一级目录cd 命令
1)进入上一级目录 cd ..
2) 查看多个上一级目录 cd../../../../../../../
3)进入当前目录 cd
第2章 Linux三剑客的使用
2.1 grep(过滤)三剑客老三

方法1 -grep
[[email protected] data]# #grep 过滤 显示你要或不要的内容
[[email protected] data]# grep "oldboy" /data/test.txt
oldboy
[[email protected] data]# grep -v "oldboy" /data/test.txt
test
liyao
2.2 head和tail 的使用
1) head显示文件前几行内容 默认为十行
[[email protected] data]# head -3 /data/ett.txt
1
2
3
2) tail 显示文件最后几行 默认为十行
[[email protected] data]# tail -11 /data/ett.txt
40
41
42
43
44
45
46
47
48
49
50
3) head和tail的共同使用
[[email protected] data]# head -30 /data/ett.txt |tail -11
20
21
22
23
24
25
26
27
28
29
30
2.3 三剑客老二sed命令

2.4 三剑客老大 awk命令
[[email protected] data]# awk ‘! /oldboy/‘ /data/test.txt
test
liyao
最后说一下sed(擅长取行) sed ‘3p’ /data/ett.txt 默认输出会在行列中多增加一个“3”而你输入sed –n ‘3p’ /data/ett.txt结果会是只显示“3” sed –n ‘3,5p’ data/ett.txt 结果是3到5行之间的数字。注意这里-n是取消默认行输出。
awk(擅长去列)例如 awk ‘NR’==3+地址’结果是显示第3行的。awk ‘NR’>3+地址输出大于第三行的行列 awk ‘NR’<3+地址 显示小于3的行列 awk ‘NR==3,NR==5’+地址显示3到5行的。
[[email protected] data]# awk ‘NR<2‘ /data/ett.txt
1
[[email protected] data]# awk ‘NR==10,NR==20‘ /data/ett.txt
10
11
12
13
14
15
16
17
18
19
20

以上是关于Linux的命令及三剑客(grep sed awk )的主要内容,如果未能解决你的问题,请参考以下文章

Linux与bash:2.Linux终端命令之三剑客命令(grep,sed,awk)

linux三剑客的基本使用——grep、sed、awk

Linux文本三剑客--grepsedawk

Linux文本处理三剑客grepsedawk用法详解

Linux三剑客-常用命令

linux命令三剑客:awk,grep,sed