linux三大主命令 linux属主( 四 )


-C,--context=NUM打印输出上下文的行数
过滤内容相关的参数:
-i ,  --忽略大小写区分
-w,--匹配查找的整个单词
-x,--匹配查找的整行文本
-v,--过滤掉匹配的内容
输出内容相关的参数
-n ,  --行号打印带有输出行的行号
比如,我要查找在grep_text.txt文件里不区分大小写查找sillymadman,并显示行号和匹配文本的下一行,那么我可以用以下命令查找
grep sillymadman grep_text.txt -i -n -A1
内容返回为
1:SillyMadman is both a madman and a fool.
2-Everyone agrees with this sentence.
总体而言grep的使用方式就是
grep [参数...](查找的内容) (文件名)
grep也经常搭配管道符号"|"使用,比如我要查询某程序的进程,并去掉查找进程本身 , 那么命令为
ps -ef | grep program_name | grep -v grep
再创建一个文件名为sed_text.txt的文件,并放入内容:
SillyMadman is both a madman and a fool.
Everyone agrees with this sentence.
我想要在第一行下面添加一句:woshishazi
命令是:sed '1a\woshishazi' sed_text.txt
返回内容为:
SillyMadman is both a madman and a fool.
woshishazi
Everyone agrees with this sentence.
但是以上这个命令不会修改原文件,如果需要,需要加上-i
sed -i'1a\woshishazi' sed_text.txt
上面a是代表append,从指定行后面新的一行添加数据,还有其他操作
操作有以下这些
a :从下面一行新增
i :从上面一行插入,
d :删除
c :整行替换
p :打印
s :对指定内容进行替换
下面稍微举下例:
a: sed '1a\woshishazi' sed_text.txt 从第一行后面添加
i: sed '1i\woshishazi' sed_text.txt 从第一行前面插入
d: sed '1d' sed_text.txt 删除第一行
c: sed '1c\woshishazi' sed_text.txt 替换第一行内容为woshishazi
p: sed -n '1p' sed_text.txt打印第一行,一般搭配-n使用,其他内容就不会再展示
s:这个相对复杂一点需要详细说明一下
sed的参数为 '[行]s/要被替换的内容/新的内容/g'
行是一个可选项,可以选择具体的行进行替换
g代表替换所有匹配到的内容,也可以改为数字,表示第几次匹配到时进行替换
sed's\SillyMadman\shafengzi\g' sed_text.txt ,将所有SillyMadman替换为shafengzi
输出结果为:
shafengzi is both a madman and a fool.
Everyone agrees with this sentence.
最后再创建一个文件名为awk_text.txt的文件,并放入内容:
1 a
2 b
3 c
4 d
5 f
以空白符作为分隔符这个文本相当于每一行有两个字段 。
那么打印第一个字段时 awk '{print0的话,则代表打印所有字段
awk默认以空白符作为分隔符,也可以指定分割符通过-F
awk -F: '{print $1}' awk_text.txt,以“:”作为作为分隔符
那么返回内容就为
1 a
2 b
3 c
4 d
5 f
相当于只有一列或者说一个字段
然后还可以对前面加上一个正则对行进行匹配内容
awk'/a/{print2 ~ /a/){print $1}' awk_text.txt
返回内容为
1
Linux下的命令1.列出文件清单命令:ls
ls命令能够列出当前目录下的所有内容 。ls 命令的执行方式为:
# ls [-选项] [文件名或者目录名]
进入到Linux命令行中后,我们至少要知道当前所处的位置有哪些内容,这些信息就可以使用ls命令来获得 。
在Linux中,ls命令是最常使用的命令之一,因为在命令行下要随时查看目录内容 。如果不加任何选项的话 , ls命令仅列出当前目录下的文件和目录名,例如,想要查看/etc目录下的内容 , 可以使用下列命令:

推荐阅读