查看centos操作系统版本:cat /etc/centos-release
切换到当前用户主目录:cd
创建文件夹/a/b/c:mkdir -pv /a/b/c。如果/a/b/c的父目录不存在,即假如/a不存在或者/a/b不存在,则会自动创建不存在的父目录。p是parents的意思,v是verbose的意思,会打印出相信信息。
创建文件:touch a.txt。创建完就创建完了,不会进入编辑页面哦。
覆盖a.txt内容:echo 'abc' > a.txt
往a.txt追加内容:echo 'abc' >> a.txt
往a.txt追加多行内容:cat << eof >> a.txt
一个大于号和两个大于号的应用场景怎么记忆呢?可以这样记。一个大于号,大于号数少,数据量少,表示是覆盖。两个大于号,大于号多,数据量多,表示是追加。
查看a.txt内容:more a.txt,less a.txt,most a.txt。most命令得自己安装
awk: 一个文本分析工具。假设a.txt的内容是:
a aa aaa 1
b bb bbb 2
c cc ccc
d dd ddd 4
e ee eee 5
awk有很多内置变量可以使用:
NF:每行的字段个数。使用示例:awk '{print "字段数是"NF}' a.txt,打印如下:
字段数是4
字段数是4
字段数是3
字段数是4
字段数是4
如果想打印每一行的最后一列,则可以awk '{print $NF}' a.txt
打印如下:
1
2
ccc
4
5
每行的行号,如果读取多个文件,则行号一直累加。使用示例:awk '{print "行号是"NR}' a.txt。
FNR:每行的行号,读取多个文件时,行号不会累加,每个文件都是从1开始。使用示例:awk '{print "行号是"FNR}' a.txt b.txt。
FS:指定分隔符,去分隔文件中内容。分隔符默认是空格,如上面NF的例子其实就是用的默认的空格分隔符。现在把a.txt的数据换成:
a,aa,aaa,1
b,bb,bbb,2
c,cc,ccc
d,dd,ddd,4
e,ee,eee,5
如果想用逗号分隔每一行数据,则可以awk 'BEGIN{FS=","} {print $1, $2}' a.txt
会打印:
a aa
b bb
c cc
d dd
e ee
注意,BEGIN必须大写,BEGIN是个关键字。$1就是分隔后数组的第一个元素,$2是第二个元素。这里起始索引不是0,是1,因为0还有别的用处。$0表示一行的全部数据,awk 'BEGIN{FS=","} {print $0}' a.txt,会打印如下:
a,aa,aaa,1
b,bb,bbb,2
c,cc,ccc
d,dd,ddd,4
e,ee,eee,5
OFS:指定分隔符,用以在输出时拼接。如上面,我们想输出a+aa+aaa这样的格式,则可以awk 'BEGIN{FS=",";OFS="+"} {print $1, $2, $3}' a.txt,打印如下:
a+aa+aaa
b+bb+bbb
c+cc+ccc
d+dd+ddd
e+ee+eee
底线。
grep的使用:
从a.txt文件中查找单词"book":grep 'book' a.txt
从a.txt文件中找到单词"book"及其上面3行:grep -B 3 'book' a.txt。B是before的意思
从a.txt文件中找到单词"book"及其下面3行:grep -A 3 'book' a.txt。A是after的意思
从a.txt文件中找到单词"book"及其上下3行:grep -C 3 'book' a.txt。
来源:https://www.cnblogs.com/koushr/p/5873393.html