常用文本处理命令

tr 用于替换文本中的字符串
tr 原始字符  目标字符
cat anaconda-ks.cfg | tr [a-z] [A-Z]  小写替换大写

wc统计指定文本的行数,字数,字节数
-l 只显示行数
-w 只显示单词数
-c 只显示字节数

cut 用于按列提取文本字符
cut 参数 文本
cut -d: -f1 /etc/passwd

diff 用于比较多个文本文件的差异 
diff 参数 文件
diff --brief diff_A.txt diff_B.txt -brief 显示比较厚的结果,判断文件是否相同
diff -c diff_A.txt diff_B.txt  -c描述文件具体内容的不同

tail -f stmt.log
    持续显示日志内容,有新的日志会自动显示。
head 和 tail类似

sort
    sort -n  按照数字正序排列,sort -n -r  倒序排列
    
grep "关键字" stmt.log -A 100 -B 300
    关键字前100行 后300行
grep -c "关键字" stmt.log 
    统计关键字出现的次数

sed 主要以行为单位对文本进行处理
-n 只有经过处理的行才会被列出
-i 直接修改文件的内容
sed -n '1,3p' /etc/passwd
sed -i 'a hellp ,this is test' 写入文件

awk 主要以列为单位进行处理
-F 指定分隔符,可以指定多个分隔符,后面加[]
awk '{print $1}' /etc/passwd  第一列
awk '条件类型 {动作}' filename
$1 $2 $3 $n 代表第1,2,3,n列
$0 代表内容的全部列
NF:每一行的总列数
NR 目前awk所处理的是第几行的内容

你可能感兴趣的:(shell)