X3n*_*ion 0 linux bash newlines paste
我想使用 linux bash 中的 paste 命令将三个文件粘贴到一个文件中,每个文件之间有两个空格:
paste -d '\n\n' file1.txt file2.txt file3.txt > output.txt
Run Code Online (Sandbox Code Playgroud)
然而,在所有没有区别paste -d '\n'和paste -d '\n\n'。
假设 file1 由单个数字“1”、“2”的 file2 和“3”的 file3 组成,我总是得到以下信息:
1
2
3
Run Code Online (Sandbox Code Playgroud)
但我想要:
1
2
3
Run Code Online (Sandbox Code Playgroud)
为什么我的代码不起作用?
只有-d选项参数列表中的一个字符用于替换输入中的每个换行符。引用该实用程序的POSIX 文档(粗体我的):
-d list
... 这些元素指定一个或多个要使用的分隔符,而不是默认的 <tab>,以替换输入行的 <newline>。list中的元素应该循环使用;也就是说,当列表用完时,列表中的第一个元素被重用。...
为了实现您正在寻找的东西(无需切换到不同的工具,根据您的实际用例,这些工具可能更有效)您可以使用:
paste -d '\n' file1.txt /dev/null file2.txt /dev/null file3.txt /dev/null
Run Code Online (Sandbox Code Playgroud)
(请注意,与您的预期结果相比,这还会添加您可能不想要的最终换行符)。
| 归档时间: |
|
| 查看次数: |
63 次 |
| 最近记录: |