有时候,要遇到将多个文件合并成一个的需要,除了重复的复制和粘贴,还可以通过Shell来辅助实现。下面是两种实现方案。

1、写一个Shell脚本

这里通过运行merge.sh可以将同目录下的所有的txt文件合并到all.all。

merge.sh:

ls *.txt |

while read file_name;

do

# 用.为分隔符只要文件名,去掉文件后缀

echo "${file_name%.*}:" >> all.txt

cat "$file_name" >> all.txt

echo "" >> all.txt

done

效果如下:

File Merge Example

2、cat命令

上面的方法中,需要写一个Shell脚本,有些麻烦。其实,可以直接通过cat命令来实现。

默认地,cat命令可以直接接收多个参数,这样,通过重定向可以很方便地合并文件:

File Merge with cat -

但是,如果想在各个文件内容的前面加一些说明,就像前面的shell脚本一样,就需要利用cat命令的一个小feature。下面是man cat中的描述:

The cat utility reads files sequentially, writing them to the standard output. The file operands are processed in command-line order. If file

is a single dash (`-') or absent, cat reads from the standard input.

如果cat接收的文件名参数为“-”或者没有,cat命令就从标准输入读取内容。

利用这一点,我们可以在文件参数之间间隔加入“-”。这样,每当读取完一个文件的内容,cat都会从标准输入读取下一个文件的说明信息。结束输入的时候,我们需要按Ctrl+d输入EOF,来结束标准输入读取。如下:

File Merge with cat -

3、附

前面的脚本中用到了shell字符串变量的截取,在下面补充下截取方法说明:

{varible#string}从左向右截取第一个string后的字符串

{varible%string}从右向左截取第一个string后的字符串

“*”只是一个通配符可以不要

From: https://blog.csdn.net/lizhidefengzi/article/details/76762059

linux 合并文本文件,Shell脚本合并文本文件相关推荐

  1. 怎么导出linux的脚本文件夹,用shell脚本生成文本文件

    在Linux上写shell脚本的一个很重要的意图是自动化.假如我们希望自动生成一个具有特定内容的文本文件,应该怎么实现呢? 我用过两个方法,下面分别举例说明.为了更通用,这两个例子中的文本内容都是多行 ...

  2. linux下的shell脚本

    linux下的shell脚本 一.Shell概述 二.Shell 解析器 三.Shell脚本入门 1. 脚本格式 2. 第一个Shell脚本:helloworld 3. 第二个Shell脚本:多命令处 ...

  3. Linux嵌入式开发——shell脚本

    文章目录 Linux嵌入式开发--shell脚本 一.shell脚本基本原则 二.shell脚本语法 2.1.编写shell脚本 2.2.交互式shell脚本 2.3.shell脚本的数值计算 2.4 ...

  4. linux之基础shell脚本编程1 基础变量赋值

    本章主要介绍函数的基础,变量赋值,逻辑运算,条件表达式,测试 linux之基础shell脚本编程1  基础变量赋值 linux之基础shell脚本编程2 if语句循环判断 linux之基础shell脚 ...

  5. Linux基础篇--shell脚本编程基础

    Linux基础篇–shell脚本编程基础 本章内容概要  编程基础  脚本基本格式  变量  运算  条件测试  配置用户环境 7.1 编程基础 程序:指令+数据 程序编程风格:   过程式:以指令为 ...

  6. Linux中执行shell脚本的4种方法

    这篇文章主要介绍了Linux中执行shell脚本的4种方法总结,即在Linux中运行shell脚本的4种方法,需要的朋友可以参考下. bash shell 脚本的方法有多种,现在作个小结.假设我们编写 ...

  7. Linux下的shell脚本实战之用户创建

    Linux下的shell脚本实战之用户创建 一.脚本要求 二.脚本内容 三.运行脚本 一.脚本要求 二.脚本内容 三.运行脚本 一.脚本要求 1.该脚本提示用户创建用户名和密码 2.判断输入的用户名是 ...

  8. Linux 中启用 Shell 脚本的调试模式

    shell 脚本调试系列 Linux 中启用 Shell 脚本的调试模式 在 Shell 脚本中执行语法检查调试模式 在 Shell 脚本中跟踪调试命令的执行 概述 脚本是存储在一个文件的一系列命令. ...

  9. 如何在 Linux 中启用 Shell 脚本的调试模式

    脚本是存储在一个文件的一系列命令.在终端上输入一个个命令,按顺序执行的方法太弱了,使用脚本,系统中的用户可以在一个文件中存储所有命令,反复调用该文件多次重新执行命令. 在学习脚本或写脚本的初期阶段,我 ...

  10. linux下执行shell脚本文件,Linux下使用shell脚本自动执行脚本文件

    搜索热词 以下实例本人在Centos6.5 64位操作系统中使用 一.定时复制文件 a.在/usr/local/wfjb_web_back目录下创建 tomcatBack.sh文件 #将tomcat中 ...

最新文章

  1. CSS截取字符串,兼容浏览器
  2. 强大的原生DOM选择器querySelector和querySelectorAll
  3. sealos包管理使用
  4. Python实用小技能,一个比一个高级!
  5. 分布式理论CAP定理
  6. Asp.net 面向接口可扩展框架之核心容器
  7. stackoverflow_Stackoverflow的见解:投票最多的是Spring 4问题
  8. wordpress发布模块_如何用WordPress打造出一个类似知乎的问答站点
  9. php pdo fetchassoc,pdo执行fetch查询语句,出现500错误,请问应该怎么写
  10. Windows Embedded Webcast 2008年1月预告
  11. VB如何实现Undo(撤消)功能
  12. 斗战神 拳猴刷图加点
  13. 联想计算机型号吧,lenovo全系列联想笔记本电脑型号对照表
  14. 利用Excel爬取网页数据
  15. 华尔街见闻:泰格马克引领未来AI《见面》之旅
  16. 【QT】linux下alsa库的移植和QT中音视频的处理笔记
  17. 同时打开对比两个pdf文件软件推荐
  18. LaTeX插入知网参考文献
  19. react中类组件this的指向问题
  20. 如何运用包过滤技术实现个人防火墙

热门文章

  1. IOS 面试个人简历(模板)
  2. 量表类问卷影响关系研究(精读笔记1)SPSS
  3. 实时监控input输入框,获取输入的内容,去除拼音
  4. 【UML】如何画好数据流图基础教程
  5. dsm加密linux,DSM 6.2.2最新引导修改版,支持3615xs,已更新下载链接
  6. java类图_java类图制作 - lxw12138的个人空间 - OSCHINA - 中文开源技术交流社区
  7. 正点原子战舰(STM32F103ZET6) 跑蓝牙协议栈 --传统蓝牙搜索演示以及实现原理
  8. WiFi路由的PIN码与常见问题处理破解教程
  9. 总结使用SnakeYAML解析与序列化YAML相关
  10. 从why到how,双态IT的落地联想为何能走在最前列