【问题标题】:Append new line in all files of the folder在文件夹的所有文件中追加新行
【发布时间】:2015-06-25 14:25:15
【问题描述】:

我在一个文件夹中有 300 个文件。我必须在文件夹中所有文件的末尾添加一个新行。

我如何使用 grep 来实现它。

我尝试了以下命令,但它不起作用

sed 's/$/\n/' /Path/filename.txt

【问题讨论】:

  • 该 sed 命令将用换行符替换每一行的结尾(应该双倍的文件)。 $ 是文件中用作地址时的最后一行(例如,在 s/// 命令之外)。所以$s/$/\n/ 将匹配文件中的最后一行。
  • @EtanReisner 我尝试了修改后的代码,如下所示 sed '$s/$/\n/' /Path/*.txt。它创建一个名为 *.txt 的新文件,并在那里创建一个空行。我想将新行附加到该文件夹​​中的现有文件中
  • 该命令不可能创建新文件。 sed -i '$s/$/\n/' /Path/*.txt 应该可以正常工作。

标签: linux sed grep


【解决方案1】:

只要说echo "" >> file。这将在file 的末尾添加一个新行。

在文件夹中的所有文件中执行此操作:

for file in *
do
    echo "" >> "$file"
done

从 cmets 来看,你必须说:

for file in /path/*.txt
do
    echo "" >> "$file"
done

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多