在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

如何合并和排序Linux上的文件

126次阅读
没有评论

共计 2431 个字符,预计需要花费 7 分钟才能阅读完成。

丸趣 TV 小编给大家分享一下如何合并和排序 Linux 上的文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

使用 cat

如果你只想将一组文件放到单个文件中,那么 cat 命令是一个容易的选择。你所要做的就是输入  cat,然后按你希望它们在合并文件中的顺序在命令行中列出这些文件。将命令的输出重定向到要创建的文件。如果指定名称的文件已经存在,那么文件将被覆盖。例如:

$ cat firstfile secondfile thirdfile   newfile

如果要将一系列文件的内容添加到现有文件中,而不是覆盖它,只需将 变成。

$ cat firstfile secondfile thirdfile   updated_file

如果你要合并的文件遵循一些方便的命名约定,那么任务可能更简单。如果可以使用正则表达式指定所有文件名,那就不必列出所有文件。例如,如果文件全部以 file   结束,如上所示,你可以进行如下操作:

$ cat *file   allfiles

请注意,上面的命令将按字母数字顺序添加文件内容。在 Linux 上,一个名为 filea 的文件将排在名为 fileA 的文件的前面,但会在 file7   的后面。毕竟,当我们处理字母数字序列时,我们不仅需要考虑 ABCDE,还需要考虑 0123456789aAbBcCdDeE。你可以使用 ls *file   这样的命令来查看合并文件之前文件的顺序。

注意:首先确保你的命令包含合并文件中所需的所有文件,而不是其他文件,尤其是你使用 *   等通配符时。不要忘记,用于合并的文件仍将单独存在,在确认合并后,你可能想要删除这些文件。

按时间期限合并文件

如果要基于每个文件的时间期限而不是文件名来合并文件,请使用以下命令:

$ for file in `ls -tr myfile.*`; do cat $file   BigFile.$$; done

使用 -tr 选项 (t = 时间,r =   反向) 将产生按照最早的在最前排列的文件列表。例如,如果你要保留某些活动的日志,并且希望按活动执行的顺序添加内容,则这非常有用。

上面命令中的 $$ 表示运行命令时的进程 ID。不是很必要使用此功能,但它几乎不可能会无意添加到现有的文件,而不是创建新文件。如果使用  $$,那么生成的文件可能如下所示:

$ ls -l BigFile.* -rw-rw-r-- 1 justme justme 931725 Aug 6 12:36 BigFile.582914

合并和排序文件

Linux 提供了一些有趣的方式来对合并之前或之后的文件内容进行排序。

1. 按字母对内容进行排序

如果要对合并的文件内容进行排序,那么可以使用以下命令对整体内容进行排序:

$ cat myfile.1 myfile.2 myfile.3 | sort   newfile

如果要按文件对内容进行分组,请使用以下命令对每个文件进行排序,然后再将它添加到新文件中:

$ for file in `ls myfile.?`; do sort $file   newfile; done

2. 对文件进行数字排序

要对文件内容进行数字排序,请在 sort 中使用 -n 选项。仅当文件中的行以数字开头时,此选项才有用。请记住,按照默认顺序,02 将小于  1。当你要确保行以数字排序时,请使用 -n 选项。

$ cat myfile.1 myfile.2 myfile.3 | sort -n   xyz

如果文件中的行以 2020-11-03 或 2020/11/03(年月日格式)这样的日期格式开头,-n   选项还能让你按日期对内容进行排序。其他格式的日期排序将非常棘手,并且将需要更复杂的命令。

使用 paste

paste   命令允许你逐行连接文件内容。使用此命令时,合并文件的第一行将包含要合并的每个文件的第一行。以下是示例,其中我使用了大写字母以便于查看行的来源:

$ cat file.a A one A two A three $ paste file.a file.b file.c A one B one C one A two B two C two A three B three C thee B four C four C five

将输出重定向到另一个文件来保存它:

$ paste file.a file.b file.c   merged_content

或者,你可以将每个文件的内容在同一行中合并,然后将文件粘贴在一起。这需要使用 -s(序列)选项。注意这次的输出如何显示每个文件的内容:

$ paste -s file.a file.b file.c A one A two A three B one B two B three B four C one C two C thee C four C five

使用 join

合并文件的另一个命令是 join。join   命令让你能基于一个共同字段合并多个文件的内容。例如,你可能有一个包含一组同事的电话的文件,其中,而另一个包含了同事的电子邮件地址,并且两者均按个人姓名列出。你可以使用  join 创建一个包含电话和电子邮件地址的文件。

一个重要的限制是文件的行必须是相同的顺序,并在每个文件中包括用于连接的字段。

这是一个示例命令:

$ join phone_numbers email_addresses Sandra 555-456-1234 [email protected] Pedro 555-540-5405 John 555-333-1234 [email protected] Nemo 555-123-4567 [email protected]

以上是“如何合并和排序 Linux 上的文件”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-25发表,共计2431字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 国产高清www免费视频 | 久久久久亚洲av无码专区首jn | 久久九九精品99国产精品 | 欧美国产综合日韩一区二区 | 在线a人片免费观看不卡 | 97视频资源总站 | 日韩精品一区二三区中文 | 亚洲中文字幕久久精品无码喷水 | 国产一区二区免费福利片 | 免费国产成人综合 | 精品无码人妻一区二区三区不卡 | 国产精品卡一卡二卡三 | 天堂国产一区二区三区四区不卡 | 99久久精品国产亚洲 | 亚洲精品视频在线看 | 亚洲av不卡无码国产 | 久久久久久夜精品精品免费啦 | 国产小视频在线播放 | 美女自熨出白浆视频在线播放 | 欧美成人免费视频 | 久久人人爽爽爽人久久久 | 欧美成人手机视频免费播放 | 欧美日韩乱国产 | 在线va免费看成 | 亚洲a∨无码男人的天堂 | 丰满少妇a级毛片野外 | 男人扒开添女人下部免费视频 | 大雞巴亂倫有声小说 | 亚洲理伦 | 亚洲精品少妇30p | 国产成人精品久久亚洲高清不卡 | 欧美区亚洲区 | 激情视频在线观看 | 四虎在线免费播放 | 欧美色图亚洲图片 | 人人艹人人插 | 丰满熟妇乱又伦精品 | 免费无码又爽又刺激高潮视频 | 国产精品自拍在线观看 | 亚洲av日韩av永久无码色欲 | 东京热人妻系列无码专区 |