macos - 复制文件名的前六个字符并将其修改为相同 .txt 文件的顶行
问题描述
我有一个 .txt 文件的目录/文件夹,我想获取每个 .txt 文件文件名的前六个字符并将其粘贴到每个相同 .txt 文件的开头(后跟一个 TAB)。
文件名示例:
- 123456 很棒的东西.txt
- 234567 另一个很棒的东西.txt
所以“123456 Something Awesome.txt”将以“123456[TAB]”开头,依此类推。
我在 Mac 上作为批处理 (.bat) 的一部分执行此操作。
(我会将 .txt 文件导入 Excel,因此文件名的前 6 个字符/数字基本上将成为每个文件/数据行的第一个数据单元格 - 这也是我需要 TAB 的原因,以便其余的的文件将填充以下单元格。)
谢谢!
解决方案
这样的事情可能会奏效。将您的 *.txt 文件放在一个目录中并创建文件myscript.sh
. 在同一目录中执行chmod +x myscript.sh
,以便您能够执行您的 shell 脚本。将以下代码放入您的 shell 脚本并./myscript.sh
在您的目录中执行它。
#!/bin/bash
for filename in ./*.txt; do
text="${filename:2:6}"
echo $text | cat - $filename > temp && mv temp $filename
done
这是一个基本的结构,只需插入一个额外的tab
,你就可以开始了。
推荐阅读
- javascript - 代码未按顺序执行
- php - 访问 MySQL 数据库的 PHP 代码不回显
- java - 如何在两个edittext中一一获取自定义列表视图适配器值和设置值
- r - 使用 R 交易计数过去 5 天按交易账户编号按交易货币
- c++ - 无法让 OpenCV 应用程序在 x64 中工作
- python - 使用递归python在列表中查找项目
- python - 如何从具有列表Python类型的列中选择具有特定字符串的行
- javascript - 呈现选择时的ReactJS setState
- c# - 解决 IOptions
在单元测试中 - parse-server - 解析服务器的主密钥安全性有问题