Linux,批量在每个以txt结尾的文件末,添加换行
时间: 2024-09-12 13:07:29 浏览: 110
小波TxT文件超级批量处理.zip
在Linux环境下,如果你想批量地给所有以`.txt`结尾的文件添加换行符,你可以使用一些简单的命令行工具,比如`sed`(stream editor)或`awk`。这里提供两种常见的方法:
1. **使用`sed`**:
```bash
find . -name "*.txt" -exec sed -i '$ a\n' {} \;
```
这个命令首先使用`find`找出当前目录及其子目录下的所有`.txt`文件,然后对每个找到的文件执行`sed`,在每一行结束处(`$`)追加一个换行符(`a\n`)。`-i`标志表示直接修改原文件,如果不希望修改原文件,可以去掉`-i`并改为`-n`,然后手动指定输出目标。
2. **使用`awk`**:
```bash
find . -name "*.txt" -exec awk 'END{print ""}' {} > /dev/null; cp {} {}.bak && mv {}.bak {}
```
先使用`awk`的END块在每个文件最后打印空行,再复制原文件为备份,最后删除原始文件并替换为添加了换行的新文件。
请注意,上述操作会覆盖原有的文件内容,如果你不想覆盖原有文件,可以在命令末尾添加`-p`选项,让`cp`命令保持原文件不变。
阅读全文