bash - 将 txt 文件的标题和内容连接成两列 csv、bash
问题描述
虽然有人问过类似的问题,但我为自己的特殊情况尴尬地挣扎。在我通过 ssh 进入的虚拟机访问的 gcloud 存储桶中,我有多个文件夹,每个文件夹都包含多个 txt 文件,每个文件夹都包含唯一的非结构化文本。例如,
folder1/txt1.txt
"lorem ipsum lorem ip"
folder1/txt2.txt
"lorem ip ip ip
lorrrrr um
ip ip"
folder2/txt1.txt
"loremmmmmmm"
我必须将每个文件夹变成一个单独的两列 csv,其中第 1 列是文件名,第 2 列是保留间距的文件内容。例如,
folder1.csv
"txt1, lorem ipsum lorem ip,
txt2, lorem ip ip ip/ lorrrrr um/ ip ip"
folder2.csv
"txt1, loremmmmmmm"
对于单个文件夹,让我获得 25% 的东西是:
gsutil cat gs://bucket/folder1/*.txt > folder1.csv
但这似乎以一种不好的方式删除了结构,将行视为行:
folder1.csv
"lorem ipsum lorem ip
lorem ip ip ip
lorrrrr um
ip ip"
显然甚至没有开始使用文件名,可以通过以下方式独立收集:
(in /folder1/ ) ls > folder1_filenames.csv
真的,如果我能用 txt 文件的内容解决间距问题,我可以为每个文件夹干净地创建并合并 2 个 1 列 csv:一个用于 txt 的文件名,一个用于内容txts,因为每个文件夹的两个 csvs' 将具有完全相同的长度并且完全匹配。
我现在将继续阅读,但我想这对于更熟悉语法的人来说是显而易见的。
解决方案
推荐阅读
- verilog - 基于接口参数化模块(SystemVerilog)
- jquery - 你能像使用 jQuery 一样使用 React(Gatsby,Next)构建静态网站,使用动画和轮播吗?
- c++ - 用于对项目进行分组并将单个项目映射到其他组成员的数据结构
- sql - 解析字符串中间的文本 - SQL Server
- android - 发生异常时测试 Android 应用行为
- go - 如何将已经存在的 golang 项目从 go 路径迁移到 go 模块
- angular - 意外的指令“MatCard”导入了 Angular Material 8 错误——
- android - Android Webview contentHeight 具有上次访问页面的值
- javascript - 为什么我在我的 React 应用程序中丢失了登录信息?
- node.js - 在我的测试用例中,我的 console.log 没有输出