bash - 如何组合文件的内容并将文件名附加到输出文件中?
问题描述
我有很多简单的 txt 文件。他们每个人只有一个字符串,例如
数据_1
数据_2
数据_3
数据_4
每个文件都有唯一的名称,例如
名称_01_apr_29
名称_02_apr_29
名称_03_apr_29
如何结合文件内容和文件名?
我需要:
数据_1;名称_01_apr_29
数据_2;名称_02_apr_29
数据_3;名称_03_apr_29
等等
我需要在某些 linux 命令或 bash(某些 script.sh)中执行此操作,因为我需要在 cron 中定期启动此请求。
我正在开发debin 8。
解决方案
awk
解决方案很简单:
awk '{print $0 ";" FILENAME}' Name_*_apr_29
另一种方法是使用grep
. 您需要重新排列输出:
grep . Name_*_apr_29 | cut -d: -f2,1 | tr ':' ';'
或者
grep . Name_*_apr_29 | sed -r 's/([^:]*):(.*)/\2;\1/'
推荐阅读
- javascript - 在 REACTJS 中显示具有内联样式的背景图像
- c++ - 将 Json 对象转换为字符串
- user-interface - 如何实现 Flutter CustomPainter 在图像上准确渲染?
- python - python:保持数据库打开/或重新连接的最佳方法
- c - 仅使用循环的非重复组 6 个随机数
- reactjs - React 编辑按钮 + 填充输入字段(PUT METHOD/PUT REQUEST)
- python - Signal.NEWNYM 在scrapy中间件中使用时不提供新的IP地址
- javascript - 通过 react-native 导航传递参数
- python - WebScraping - 从 td 类中提取值
- node.js - Mongodb 聚合 $limit 不返回文档