Linux常用高级文件操作命令

来源:互联网 发布:ps滤镜怎么安装 mac 编辑:程序博客网 时间:2024/05/16 06:02
cat 查看文本
#cat    文件名      打印文件内容到当前屏幕上
#cat -n 文件名      显示行号
#cat > a.txt        可以用这种方法修改或者创建文件
手动输入文本
继续输入
...
快捷键(ctrl+d)结束

>  输出重定向(覆盖原来文本内容)
>> 输出重定向(在原来内容基础上追加)
<  输入重定向
# cat < a.sh
12345
abcde

ctrl+d 结束
ctrl+c 中断

tac 倒序显示
#tac 文件名 倒序显示文本内容

tee  写入文本内容
#ls | tee a.txt     执行前面命令的同时写入指定的文本文件
#ls | tee -a a.txt  -a在原来内容的基础上追加

cut  切割
# cat /etc/passwd | cut -d ":" -f 1
# cat /etc/passwd | cut -d :   -f 1
# cat /etc/passwd | cut -d:    -f 1
取第1,2,7列
# cat /etc/passwd | cut -d ":" -f 1,2,7
取第2列到第7列
# cat /etc/passwd | cut -d ":" -f 2-7
取第1列到第6列
# cat /etc/passwd | cut -d ":" -f -6
取6列以后的所有列
# cat /etc/passwd | cut -d ":" -f 6-
""在里面是特殊字符(可以被shell解释的)的时候必须要加

-d delimiter
指定分割符,和指定的分割符之间可没空格,默认分割符是一个tab键
-f field  指定想要把第几列切出来

wc   统计
#wc -l 文件名   统计行数
#wc -c 文件名   统计字符数(包括所有字符:比如换行符)
#wc -w 文件名统计word数(没有空格,就会认为是一个word)

sort 排序

#cat a.txt
Abcd
Defb
Caef

第一列字符不同的排序
# cat a.txt | sort
Abcd
Caef
Defb

第一列字符相同的排序
# cat a.txt | sort
aAbcd
aCaef
aDefb

-t
-k
# cat a.txt
e:Abcd
defb
a:Caef

# cat a.txt | sort -t : -k 2
e:Abcd
a:Caef
defb

# cat a.txt | sort -t : -k 2.2
a:Caef
e:Abcd
defb

# cat a.txt |sort -n
9defb
50a:Caef
60e:Abcd

# cat a.txt |sort -n -r
60e:Abcd
50a:Caef
9defb

uniq 唯一
uniq他统计的是连续重复的行
# cat a.txt 源文本
12345
abcde
12345
abcde
abcde

被处理之后
[root@wing /var/ftp/1118ule]# cat a.txt | uniq -c
1 12345
1 abcde
1 12345
2 abcde

连续重复的行的数目
[root@wing /var/ftp/1118ule]# cat a.txt | sort | uniq -c
2 12345
3 abcde

只列出没有连续重复的行
[root@wing /var/ftp/1118ule]# cat a.txt | uniq -u
12345
abcde
12345

只列出连续重复的行
[root@wing /var/ftp/1118ule]# cat a.txt | uniq -d
abcde

diff  比较文本内容的不同
# diff -u a.txt  b.txt  > pacth.diff
patch 打补丁
# patch a.txt pacth.diff
0 0