LINUX
LInux复习归纳4~
高级命令
sort
用于排序,具体用法:
sort 文件 //将文件的每一行作为单位进行比较
-u 用于去除重复行
-n 对于数字文件来说,按照数字进行排序
-o 排序结果重定向到文件(不能用>符)
cut
用于切割,具体用法:
cut -c 范围 文件名 //用于指定保留每行的范围(以字符为单位进行分割)
cut -b 范围 文件名 //用于指定保留每行的范围(以字节为单位进行分割,用于汉字等)
cut -d '分隔符' -f 范围
范围格式:a-b(a和b之间),a(a-a),-b(1-b),a-(a到最后),每行下角标从1开始,也可以通过,分隔符分割多个范围
注意,cut命令不会对范围进行指令重排
split
用于将一个大文件切分为多个小文件,提高可读性
split -b size file //将file切分为多个size大小的文件
split -l n file //将file切分为多个最长为n行的文件
split -d //使用数字作为小文件名后缀(默认为字母)
uniq
用于去重,常用参数-c(记录重复次数),-d(只显示重复的行)
可以利用先排序,再uniq的方式,保证文件中每个值的唯一
tr
可以将tr看作sed的简化版,可以用来进行替换操作,也可以去除一些字符、去重等,具体用法:
tr [选项] <字符集> <字符集>
tr '12' '34' //将1替换为3,将2替换为4
tr -d '12' //删除所有属于第一个字符集中的字符
tr -s '12' //将字符集中包含的连续重复的字符以单个字符表示(去重)
tr -c '[a-z][0-9]' ' ' //不满足第一个字符集的字符用字符集二代替
tee
在屏幕上显示的同时,将读取的内容也重定向到指定文件,例如cat file | tee file1
xargs
常常和管道连用,用于将管道前的输出作为参数传给后面的命令,例如显示查找到的文件的详细信息:
find ./ -name "*.c" | xargs ls -al
常见参数:
xargs -eEOF //xargs读到EOF停止
xargs -e"string" //xargs读到string停止
xargs -n n //后面命令一次需要读入n个参数
grep
用于检索和过滤,也常常和管道连用,例如检索普通文件类型中包含txt的文件:
find ./ -type f | grep txt
除此之外,还可以检索文件中的内容,具体格式为grep [选项] 内容 文件
(当然也可以cat 文件 | grep [选项] 内容
),选项比如-w(精确查找),-c(统计查找到的次数),-i(忽略大小写),-n(带行号),-v(反向检索,也就是除内容以外的行)
如果有写的不对或者不全面的地方 可通过主页的联系方式进行指正,谢谢