sed:修改的只是显示的内容,文件并未修改(重点理解)
sed -n ‘1,3p’ filename 显示出文件1到3行的数据 p:打印出制定行内容跟print差不多,与-n搭配使用
sed ‘1,3d’ filename 删除文件1到3行的数据(文件内容保持不变,只是显示少了1-3行的内容)
sed ‘4c xixihaha’ filename 将第四行全部替换为xixihaha(依然对原文件内容没有任何修改)
sed ‘s/旧字符串/新字符串/g’ filename 字符串替换
sed ‘4s/旧字符串/新字符串/g’ filename 替换第四行的旧字符串
cut:主要是对文件的每行数据进行处理
b:byte以字节分割;c:char以字符分割;-d :自定义分隔符,没有则默认为制表符。-f :与-d一起使用,指定显示哪个区域。
cut -d = -f 2 apcfg 截取某行中以"=“为分隔符的第二列
cut -b 1-17 apcfg 截取某行中第1-17字节的内容
cat apcfg | sed -n ‘2p’ | cut -d = -f 2 获取apcfg文件中第二行以”=“为分隔符的第二列的内容
cat apcfg | sed -n ‘1,2p’ | cut -d = -f 1,3 获取apcfg文件中第一二行以”="为分隔符的第一列和第三列的内容
cat apcfg | sed -n ‘1,2p’ | cut -b 1-17 获取apcfg文件中第一二行第1-17字节的内容
awk:没有 -F则默认的字段分隔符是任意空白字符(空格或者TAB)
$0表示整行文本
$1表示文本中第一个数据字段
$2表示文本中第二个数据字段
$n表示文本中第n个数据字段
awk ‘{print}’ test 打印文件全内容
df | awk ‘{print $5}’ 输出df信息的第五列
df | awk ‘{print $NF}’ 输出df信息的最后一列
df | awk ‘{print $1,$5}’ 输出df信息的第一列和第五列
awk ‘{print $1,$5,“string”}’ test 添加string字段并输出,常用于信息拼接
grep指令:
-b 将可执行文件当文本文件来搜索
-c 仅显示找到的行数
-i 忽略大小写
-n 显示行号
-v 反向选择 – 仅列出没有关键词的行。v 是 invert 的缩写。
-r 递归搜索文件目录
grep hello helloWorld.txt 在 helloWorld 中搜索一个单词,命令会返回一个包含 hello 的文本行。
grep hello hello* 在多个文件搜索的时候,可以使用通配符
grep -inr “hello” ./ 递归搜索当前目录下所有文件,不区分大小写打印出包含 hello 的行(包括行号)
grep -v hello helloWorld.txt 反向查找,查找文件中,不包含 hello 的行
head -n apcfg 显示前n行内容
head -c20 apcfg 显示前20个字符
ls | head -n 显示前n个文件
tail -20 1.txt 显示1.txt文件最后20行的内容
tail -f 1.txt 不停地去读1.txt中最新的内容
df | wc -l 统计df指令结果的行数
获取进程号:grep -v grep是为了不要包含grep的行(4024 root 3796 S grep quickinstall)
ps | grep quickinstall | grep -v grep | awk ‘{print $1}’
/var/wlan # ps | grep quickinstall
1731 root 65336 S quickinstall
4024 root 3796 S grep quickinstall(无效行)
查看进程是否存在:不存在(行数为0)返回0;存在则返回1
ps -ef |grep quickinstall |grep -v ‘grep’ | wc -l