1、sort的使用方法
sort命令将许多不同的域按不同的列顺序分类。
sort命令的一般格式为:
sort -cmu -o output_file [other options] +pos1 +pos2 input_files
-c 测试文件是否已经分类。
-m 合并两个分类文件。
-u 删除所有复制行。
-o 存储sort结果的输出文件名。
其他选项有:
-b 使用域进行分类时,忽略第一个空格。
-n 指定分类是域上的数字分类。
-t 域分隔符;用非空格或tab键分隔域。
-r 对分类次序或比较求逆。
+n n为域号。使用此域号开始分类。
n n为域号。在分类比较时忽略此域,一般与 + n一起使用。
post1 传递到m,n。m为域号,n为开始分类字符数;例如4,6意即以第5域分类,从第7 个字符开始。
缺省情况下,sort认为一个空格或一系列空格为分隔符。要加入其他方式分隔,使用 - t选项。
sort执行时,先查看是否为域分隔设置了 - t选项,如果设置了,则使用它来将记录分隔成 域0、域1等等;如果未设置,用空格代替。缺省时 sort将整个行排序,指定域号的情况例外。
sort -t: -n filename.txt 按照空格和数字进行排序
sort -u filename.txt 去除重复项进行排序
sort -t: -k3 cc.txt 按照第三个域进行排序
sort -t: -k3 -k2 filename.txt 按照第三个域进行排序,再以第二域进行排序
sort -t: -m cc.txt cc2.txt -o cc3.txt 合并两个文件,并输出为一个新的文件
cat /etc/passwd | sort -t: -k1 |awk -F":" '{print $1}' 查看用户名进行分类
uniq使用方法:
uniq用来从一个文本文件中去除或禁止重复行。一般uniq假定文件已分类,并且结果正确。 我们并不强制要求这样做,如果愿意,可以使用任何非排序文本,甚至是无规律行。
uniq -udc -f inputfile outputfile
-u 只显示不重复行。
-d 只显示有重复数据行,每种重复行只显示其中一行
-c 打印每一重复行出现次数。
-f n为数字,前n个域被忽略。 一些系统不识别- f选项,这时替代使用- n。
join的使用方法:
join用来将来自两个分类文本文件的行连在一起。
这里有两个文件 file1和file2,当然已经分类。每个文件里都有一 些元素与另一个文件相关。由于这种关系, join将两个文件连在一起,这有点像修改一个主文件,使之包含两个文件里的共同元素。
join [options] inputfile inputfile
cut的使用方法:
cut用来从标准输入或文本文件中剪切列或域。剪切文本可以将之粘贴到一个文本文件。
cut一般格式为:
cut [options] file1 file2
-c list 指定剪切字符数。
-f field 指定剪切域数。
-d 指定与空格和tab键不同的域分隔符。
-c 用来指定剪切范围,如下所示:
-c 1,5-7 剪切第1个字符,然后是第5到第7个字符。
-c 1-50 剪切前50个字符。
-f 格式与-c相同。
-f 1,5 剪切 第1域,第5域。
-f 1,10-12 剪切第1域,第10域到第12域。
paste使用方法:
cut用来从文本文件或标准输出中抽取数据列或者域,然后再用 paste可以将这些数据粘贴起来形成相关文件。粘贴两个不同来源的数据时,首先需将其分类,并确保两个文件行数相同。
paste将按行将不同文件行信息放在一行。缺省情况下, paste连接时,用空格或tab键分隔新行中不同文本,除非指定- d选项,它将成为域分隔符。
paste格式为:
paste -d -s -file1 file2
选项含义如下:
-d 指定不同于空格或tab键的域分隔符。例如用@分隔域,使用-d @。
-s 将每个文件合并成行而不是按行粘贴。
split使用方法:
split用来将大文件分割成小文件。有时文件越来越大,传送这些文件时,首先将其分割可能更容易。使用vi或其他工具诸如sort时,如果文件对于工作缓冲区太大,也会存在一些问题。 因此有时没有选择余地,必须将文件分割成小的碎片。
split命令一般格式:
split -output_file-size input-filename output-filename
这里output - file - size指的是文本文件被分割的行数。split查看文件时,output - file - size选项 指定将文件按每个最多1000行分割。如果有个文件有2800行,那么将分割成3个文件,分别有 1000、1000、800行。每个文件格式为x[aa]到x[zz],x为文件名首字母,[aa]、[zz]为文件名剩余部分顺序字符组合,下面的例子解释这一点。
split -2 filename.txt 以2行进行分割
tr的使用方法:
tr用来从标准输入中通过替换或删除操作进行字符转换, tr主要用于删除文件中控制字符或进行字符转换。使用tr时要转换两个字符串:字符串1用于查询,字符串2用于处理各种转换。 tr刚执行时,字符串1中的字符被映射到字符串2中的字符,然后转换操作开始。
带有最常用选项的tr命令格式为:
tr-c-d-s["string1_to_translate_from"]["string2_to_translate_to"] input_file
这里:
-c 用字符串1中字符集的补集替换此字符集,要求字符集为 ASCII。
-d 删除字符串1中所有输入字符。
-s 删除所有重复出现字符序列,只保留第一个;即将重复出现字符串压缩为一个字符 串。
Input-file是转换文件名。虽然可以使用其他格式输入,但这种格式最常用。
echo "May Day May Day" | tr '[a-z]' '[A-Z]' 将字符串的小写转化为大写
来源:CSDN
作者:weixin_42118728
链接:https://blog.csdn.net/weixin_42118728/article/details/104686095