shell怎么将txt文档中所有行移到同一行,并用空格分隔,写到旧文件中
时间: 2023-12-14 15:37:59 浏览: 138
MFC按行读取txt文件,以空格分隔字符,并转换为double型
3星 · 编辑精心推荐
可以使用 `tr` 和 `echo` 命令实现这个功能。具体步骤如下:
1. 使用 `tr` 命令将每行结尾的换行符替换为空格,将多行合并成一行:
```
tr '\n' ' ' < input.txt
```
其中,`input.txt` 是输入文件的文件名。
2. 使用 `echo` 命令将合并后的内容写回原文件:
```
echo "$(tr '\n' ' ' < input.txt)" > input.txt
```
这个命令会将 `tr` 命令的输出结果作为参数传给 `echo` 命令,然后将结果重新写回原文件。
完整的 shell 脚本如下:
```bash
#!/bin/bash
# 将每行结尾的换行符替换为空格,将多行合并成一行
tr '\n' ' ' < input.txt > temp.txt
# 将合并后的内容写回原文件
echo "$(cat temp.txt)" > input.txt
# 删除临时文件
rm temp.txt
```
其中,`input.txt` 是输入文件的文件名,`temp.txt` 是临时文件的文件名。在脚本执行结束后,会删除临时文件。
阅读全文