linux下文件atxt和b.txt的内容加上行号(空白行不加),然后合并到文件c.txt中
时间: 2024-02-25 07:52:26 浏览: 75
面试题:把a.txt、b.txt文件合并写到c.txt文件
可以使用Linux下的`sed`命令和`awk`命令来实现这个需求,具体命令如下:
```bash
# 给 a.txt 文件加上行号,空白行不加
sed '/^\s*$/!s/^/a.txt:/;=;d' a.txt > a_with_line_number.txt
# 给 b.txt 文件加上行号,空白行不加
sed '/^\s*$/!s/^/b.txt:/;=;d' b.txt > b_with_line_number.txt
# 合并 a.txt 和 b.txt 的行号,将结果保存到 c.txt 文件中
awk '{print NR ":", $0}' a_with_line_number.txt b_with_line_number.txt > c.txt
# 删除临时文件
rm a_with_line_number.txt b_with_line_number.txt
```
这个脚本会生成两个临时文件 `a_with_line_number.txt` 和 `b_with_line_number.txt`,分别给 `a.txt` 和 `b.txt` 加上行号。然后使用 `awk` 命令将这两个文件合并到 `c.txt` 中,并在每行前面加上行号。最后删除临时文件即可。
阅读全文