Linux中文件操作的命令

下面是对linux命令中,对文件的操作的总结。

1. cut

cut命令用于显示每行从开头算起 num1 到 num2 的文字。即,截取指定字段并输出。

cut [-bcdnf] [file]
-b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
-c :以字符为单位进行分割。
-d :自定义分隔符,默认为制表符。
-f :与-d一起使用,指定显示哪个区域。
-n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的范围之内,该字符将被写出;否则,该字符将被排除

举例:

cut -c-2 test (打印前2个字符)
cut -c5- test (打印从第5个字符开始到结尾)
cut -d " " -f 2 test (以空格为分隔符,打印第二列)

2. split

split命令用于将一个文件分割成数个。

split [--help][--version][-<行数>][-b <字节>][-C <字节>][-l <行数>][要切割的文件][输出文件名]
-<行数> : 指定每多少行切成一个小文件
-b<字节> : 指定每多少字节切成一个小文件
-C<字节> : 与参数"-b"相似,但是在切 割时将尽量维持每行的完整性
[输出文件名] : 设置切割后文件的前置文件名, split会自动在前置文件名后再加上编号

举例:

Split -5 test (会将原来的大文件"test"切割成多个以"x"开头的小文件。而在这些小文件中,每个文件都只有5行内容)

3. join

join命令用于将两个文件中,指定栏位内容相同的行连接起来。

join [-i][-a<1或2>][-e<字符串>][-o<格式>][-t<字符>][-v<1或2>][-1<栏位>][-2<栏位>][--help][--version][文件1][文件2]
-a<1或2> 除了显示原来的输出内容之外,还显示指令文件中没有相同栏位的行。
-e<字符串> 若[文件1]与[文件2]中找不到指定的栏位,则在输出中填入选项中的字符串。
-i或--igore-case 比较栏位内容时,忽略大小写的差异。
-o<格式> 按照指定的格式来显示结果。
-t<字符> 使用栏位的分隔字符。
-v<1或2> 跟-a相同,但是只显示文件中没有相同栏位的行。
-j FIELD :等同于 -1 FIELD -2 FIELD,-j指定一个域作为匹配字段
-1<栏位> 连接[文件1]指定的栏位。
-2<栏位> 连接[文件2]指定的栏位。

举例:

join test1 test2 (默认比较两个文件,将两个文件中第一行的内容相同的行连接起来)
join –a1 test1 test2 (左连接,显示左边文件中的所有记录,右边文件中没有匹配的显示空白。)
join –a2 test1 test2 (右连接,显示右边文件中的所有记录,左边文件中没有匹配的显示空白。)
join –a1 –a2 test1 test2 (全连接,显示左边和右边所有记录)

4. paste

paste命令用于合并文件的列。

paste [-s][-d <间隔字符>][--help][--version][文件...]
-d<间隔字符>或--delimiters=<间隔字符>  用指定的间隔字符取代跳格字符。
-s或--serial  串列进行而非平行处理。

举例:

paste –d: test1 test2 (合并2个文件,并以:为分隔符进行连接)

5. uniq

uniq命令用于检查及删除文本文件中重复出现的行列。

uniq [-cdu][-f<栏位>][-s<字符位置>][-w<字符位置>][--help][--version][输入文件][输出文件]
-c或--count 在每列旁边显示该行重复出现的次数。
-d或--repeated 仅显示重复出现的行列。
-u或--unique 仅显示出一次的行列。
-f<栏位>或--skip-fields=<栏位> 忽略比较指定的栏位。
-s<字符位置>或--skip-chars=<字符位置> 忽略比较指定的字符。
-w<字符位置>或--check-chars=<字符位置> 指定要比较的字符。
[输入文件] 指定已排序好的文本文件。
[输出文件] 指定输出的文件。

举例:

uniq一般需要配合sort使用,对已排序的文件进行操作。如:

对已排序的文件,删除重复行;
sort test|uniq

对已排序的文件,仅显示重复出现的行(仅出现一次的行);
sort test|uniq –d(-u)

对已排序的文件,在每列前显示该行重复次数,并根据重复次数再次排序;
sort test|uniq –c|sort -r

6. sort

sort命令用于将文本文件内容加以排序。

sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件]
-b 忽略每行前面开始出的空格字符。
-c 检查文件是否已经按照顺序排序。
-d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
-f 排序时,将小写字母视为大写字母。
-i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
-m 将几个排序好的文件进行合并。
-M 将前面3个字母依照月份的缩写进行排序。
-n 依照数值的大小排序。
-o<输出文件> 将排序后的结果存入指定的文件。
-r 以相反的顺序来排序。
-t<分隔字符> 指定排序时所用的栏位分隔字符。
+<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。

举例:

sort –r test #逆序排列文件

原文地址:https://www.cnblogs.com/xbxblog/p/9831710.html

时间: 2024-11-12 15:28:31

Linux中文件操作的命令的相关文章

Linux中文件的基本属性

一.用户及用户组 所有者(属主):一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者,每个文件的所有者(属主)有且仅有一个.用ll命令可以看到文件的所有者. 所属组(属组):当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组,一个用户可以属于多个组但仅有一个主组,用ll命令可以看到文件的所有组. 其他人:除开文件的所有者和所属组之外的用户,系统的其它用户都是文件的其他者.比如创建了两个用户Tom和Jerry,Tom相对Jerry创建的文件来说就是其他人. 二.文件权限 L

Linux中crontab-定时任务命令

Linux服务器很久没接触了,出了一些新的版本,Ubuntu已经出了12.10了,之前对于Ubuntu的了解只是出于对桌面版的好奇,可以跟 Win7一样炫,现在的Ubuntu已正式进入了Liunx爱好者的视线,应用用于后台大型服务器,选择它的主要原因还是出于对稳定性的考虑.用习惯了 CentOS,突然转移到Ubuntu上还是有些不习惯,毕竟CentOS与传统的RedHat没什么区别.不过,总归命令还是一样的,多用用就熟悉了. 关于任务定时的命令crontab,在Linux中应用还算常见,这次为了

[转]linux中强大的screen命令

[转]linux中强大的screen命令 http://pythonorg.diandian.com/post/2012-01-05/40027464147 今天用SCREEN用点生了,有几个功能不知道怎么用,上网搜了一下,有位哥们写的挺细的,向这哥们致敬,我这里就转走了,备查用.因为还有好几个有用实用好用的功能文章都没有描述到.我将在转载的最后给预补充.以下转载开始 转载地址:http://hi.baidu.com/nkhzj/blog/item/9de2cdfdddf0db42d7887d4

Linux中W与Who命令的使用

踢掉一个从某个终端连上的用户pkill -kill  -t pts/0 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Linux中W与Who命令的使用 LINUX是个多用户系统,一旦连接到

linux下mysql操作的命令

最近在学习mysql,还是只菜鸟,找到下面篇文章对初学者挺有用的,所以共享下 1.linux下启动mysql的命令:   mysqladmin start /ect/init.d/mysql start (前面为mysql的安装路径) 2.linux下重启mysql的命令:   mysqladmin restart /ect/init.d/mysql restart (前面为mysql的安装路径) 3.linux下关闭mysql的命令:   mysqladmin shutdown   /ect/

linux中文件的三种时间

Linux 中文件的三种时间 文件的三种时间: 1.        mtime 文件的修改时间 文件的内容发生改变.包括文件中空格数目.字符的变动再复原等这些看上去并不影响有效数据内容的操作. 有意的改变时间戳.Eg:使用touch –m –t 2016666666666fileName这样的命令故意改变mtime. 2.        ctime 文件的改变时间 文件的"属性"改变.Eg:文件的权限.属主.属组等. mtime发生改变和人为的改变atime的情况,Eg:touch –

linux学习(2):linux服务器常用操作和命令

linux服务器常用操作和命令 目录 1. 什么是linux服务器load average?2. 如何查看linux服务器负载3. 服务器负载高怎么办?4. 如何查看服务器内存使用率?5. 如何查看单个进程占用的内存大小?6. 无法从linux服务器A登录到服务器B怎么办?7. 如何查看正在使用的服务和端口?8. 如何查看服务器进程信息?9. 如何杀死进程?10. 如何查找僵尸进程?11. 如何在内网服务器间传输数据?12. 为什么启动不了服务器端口?13. 常用的linux服务器性能查看命令有

Python中文件操作

一.文件打开操作 1.文件操作步骤: (1)打开文件模式: f =open("db",'a')    #文件追加 f = open("db",'r')    #只读操作(默认模式) f = open("db",'w')    #只写操作,会先清空原文件 f = open("db",'x')    #文件存在,会报错,不存在创建并只写 f = open("db",'rx|a|w')  #以二进制的方式只读或只

Linux中find、grep命令详细用法

在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find.grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们.本文结构如下: find命令 find命令的一般形式 find命令的常用选项及实例 find与xargs grep命令 grep命令的一般形式 grep正则表达式元字符集(基本集) grep命令的常用选项及实例 1.find命令 find命令是一个无处不在命令,是linux中最有用的命令之一.find命令用于:在一个目录(及子目录)中搜索文件,你可以