shell怎么将txt文档中所有行移到同一行,并用空格分隔
时间: 2023-12-14 16:37:18 浏览: 131
可以使用`tr`和`echo`命令来实现。
假设我们有一个名为`text.txt`的文本文件,其中每行都有一些文本。我们需要将所有行移到同一行,并用空格分隔它们。
可以使用以下命令:
```
echo $(tr '\n' ' ' < text.txt)
```
这个命令会将`text.txt`中的所有行连接成一个单独的行,并用空格分隔它们。输出将打印在终端上。
如果你想将输出保存到一个新文件中,可以使用重定向符号`>`,像这样:
```
echo $(tr '\n' ' ' < text.txt) > new_text.txt
```
这将把所有行连接成一个单独的行,并将输出保存到`new_text.txt`文件中。
相关问题
shell怎么将txt文档中每一行移到同一行,并用空格分隔
可以使用`awk`命令来实现:
```
awk '{ printf("%s ", $0) } END { printf("\n") }' input.txt > output.txt
```
其中,`input.txt`是原始文本文件,`output.txt`是处理后的文件。
解释一下这个命令:
- `awk`是一个文本处理工具,可以按行处理文本;
- `{ printf("%s ", $0) }`是处理每一行的命令,它会将当前行的内容输出,并在末尾加上一个空格;
- `END { printf("\n") }`是在处理完所有行之后执行的命令,它会在输出的末尾加上一个换行符。
这样,就可以将每一行移到同一行,并用空格分隔了。
阅读全文