粘贴命令:设置(多个)分隔符

erc*_*rch 10 text-processing paste

在 Linux 中,我在paste(GNU coreutils) 8.13 中遇到以下问题:

尝试设置除默认值 (TAB) 以外的其他分隔符会导致仅打印已定义分隔符的第一个字符或完全忽略它。

问题:使用时如何定义(多个)分隔符 paste

简单地使用,例如abc-123作为分隔符会很好。“多个”是指例如 2 个 TABS 而不是一个。


到目前为止,我尝试过的包含分隔符的模式是

  • --delimiters="\delimiter"
  • --delimiters='\delimiter'
  • --delimiters=$"\delimiter"
  • --delimiters=$'\delimiter'

所有结果都相同:仅接受或完全忽略第一个字符。我也尝试过简短版本-d"\"和多个实例 &ndahs; 没有。

还:

  • --delimiters="\\" → 错误信息

什么工作完美,但不是我想要的:

  • --delimiters="\n" → 换行
  • --delimiters="\0" → 中间没有
  • --delimiters="\t"TAB,默认。伟大的。

Sté*_*las 18

要在abcfile1 和 file2 之间插入,您可以执行以下操作:

paste -d abc file1 /dev/null /dev/null file2
Run Code Online (Sandbox Code Playgroud)

或者:

paste -d abc file1 - - file2 < /dev/null
Run Code Online (Sandbox Code Playgroud)

如果你想要两个标签:

paste file1 /dev/null file2
Run Code Online (Sandbox Code Playgroud)