【问题标题】:How to add text to the beginning of all files in a folder? [closed]如何将文本添加到文件夹中所有文件的开头? [关闭]
【发布时间】:2013-04-22 09:20:41
【问题描述】:

我有一个包含 1,000 个小文本文件的文件夹,我需要修改这些文件并在每个文件的开头添加 7 个零。完成此操作后,我将能够将它们全部放在一起。有没有一种简单的方法可以在终端中做到这一点?

【问题讨论】:

  • this 是您要找的吗?
  • @Snowsickle 不,我不需要更改名称,只需更改内容。
  • 那个文件夹里还有其他文件吗?
  • @Beta 除了我需要编辑的文本文件之外别无其他。
  • 相关(甚至重复):askubuntu.com/questions/11031/…

标签: macos unix terminal


【解决方案1】:

找到当前目录下的所有文件,在文件开头插入0000000sed

find . -maxdepth 1 -type f -exec sed -i.bk '1i \
0000000' {} \;

这还将为目录中的每个文件创建.bk 文件。如果您对结果感到满意,只需rm *.bk 删除备份文件。

【讨论】:

  • 没用;给出了“无效的命令代码”。
  • 不是-i,而是-e,或者最好什么都没有(只是sed '1 i'
  • 在 Linux 而非 Mac 上测试,经过编辑以使 Mac 友好。 @GoZoner 没有,-i.
  • @sudo_O 无论如何要在与文本相同的行上获得零?对不起,我有点过头了:)
【解决方案2】:

将其粘贴到 .sh 文件中并执行。将路径放置到您的文件目录而不是示例中。

#!/bin/bash
FILES="./files/*"

for f in $FILES
do
    echo '0000000' | cat - $f > temp && mv temp $f
done

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-13
    • 1970-01-01
    • 2011-03-20
    • 1970-01-01
    • 2012-12-22
    • 2011-03-05
    • 1970-01-01
    相关资源
    最近更新 更多