Linux 的文本处理命令一览
grep 基于关键字搜索文本内容
-i 搜索时忽略大小写
-n 显示结果所在行数
-v 输出不带关键字的行
-Ax 在输出的时候包含结果所在行之后的指定行数(x为一个数值,表示输出后面x行)
-Bx 在输出的时候包含结果所在行之前的指定行数(同上)
cut 基于列处理文本内容
1
|
cut -d: -f1 /etc/passwd
|
1
|
grep upliu /etc/passwd | cut -d: -f3
|
-d 指定分割字符(默认是TAB)
-f 指定输出的列号
-c 基于字符进行切割
1
|
cut -c2-6 /etc/passwd #显示第2到6列的文字
|
wc 统计文本信息
-l 只统计行数
-w 只统计单词
-c 只统计字节数
-m 只统计字符数
sort 对文本内容进行排序
-r 进行倒序排序
-n 基于数字进行排序
-f 忽略大小写
-u 删除重复行
-tc 使用 c 作为分隔符分割为列进行排序
uniq 删除相邻重复行
详情请看 man uniq 手册
diff 比较两个文本文件内容的区别
-i 忽略大小写
-b 忽略空格数量的改变
-u 同意显示比较信息(一般用于生成 patch 文件)
1
|
diff -u upliu.txt upliu-new.txt > final.path
|
aspell 检查英文拼写
该命令只能检查英文
tr 处理文本内容
1
|
tr 'a-z' 'A-Z' < upliu.txt # 小写字母替换为大写字母
|
sed 搜索替换
详细教程见这里:http://learn.akae.cn/media/ch32s03.html
和这里:http://coolshell.cn/articles/9104.html
awk 以列为单位处理文件
详细教程见这里:http://learn.akae.cn/media/ch32s04.html
和这里:http://coolshell.cn/articles/9070.html
sed awk 这两个工具比较强大,用法需要慢慢消化理解
Linux 下递归给某文件夹下的所有文件和文件夹设置权限命令为:
1
|
chmod -R 777 DIR_NAME
|
只给文件夹设置权限:
1
|
find DIR_NAME -type d | xargs chmod 777
|
同理只给文件设置权限:
1
|
find DIR_NAME -type f | xargs chmod 777
|
Linux 下命令行查看文件夹大小
主要是 du 命令,使用方法如下:
1
2
3
|
du -s DIR_NAME # 输出 2201576 DIR_NAME
du -sh DIR_NAME # 输出 2.1G DIR_NAME
du -sm DIR_NAME # 输出 2150 DIR_NAME
|