Macos 复制文件名的前六个字符,并将其修改为相同.txt文件的顶行
我有一个.txt文件的dir/文件夹,我想获取每个.txt文件名的前六个字符,并将其粘贴到每个相同的.txt文件的开头(后面是一个选项卡) 文件名示例:Macos 复制文件名的前六个字符,并将其修改为相同.txt文件的顶行,macos,Macos,我有一个.txt文件的dir/文件夹,我想获取每个.txt文件名的前六个字符,并将其粘贴到每个相同的.txt文件的开头(后面是一个选项卡) 文件名示例: 123456 someone.txt 234567另一个很棒的东西.txt 所以“123456 Something Awesome.txt”将以“123456[TAB]”开头,以此类推 我在Mac上作为批处理(.bat)的一部分执行此操作 (我将把.txt文件导入Excel,这样文件名的前6个字符/数字基本上将成为每个文件/数据行的第一个数
- 123456 someone.txt
- 234567另一个很棒的东西.txt
谢谢 像这样的事情可能会奏效。将*.txt文件放在目录中,然后创建文件
myscript.sh
。在同一目录中执行chmod+xmyscript.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
这是一个基本结构,只需插入一个额外的
选项卡
,您就可以开始了。Mac不使用.bat
文件,这是Windows的功能。另外,请展示你的尝试。你拿了,你读了吗,还有?。bat在Mac上工作。它通过Mac的Terminal.app运行。我在这个特定进程中使用的东西失败了,所以我认为发布示例代码对我来说毫无价值。Mac OSX和更高版本将运行.bat文件-(您可以以.bat结尾)-我已经运行了几个星期了)。这会产生很多“没有这样的文件或目录”错误,但这可能是因为文件名有空格(?)。结果如下:cat:123456:没有这样的文件或目录cat:Something:没有这样的文件或目录cat:Awesome.txt:没有这样的文件或目录…有空格:)还有其他建议吗?我如何让它忽略文件名中的空格?看起来这就是问题所在:)此外,它还在6个字符后添加一个换行符(当我需要制表符时)。我删除空格的“修复”方法是将文件复制到新目录,用下划线替换空格,然后在这些文件上运行上述过程。然后它成功了:)