我一直在读关于https://stackoverflow.com/questions/39791042/convert-vertical-text-into-horizontal-in-shell
并想知道是否tr
可以单独使用将垂直文本转换为水平文本。
user@linux:~$ seq 3
1
2
3
user@linux:~$
我尝试过以下解决方案,它有效但并不完美。
user@linux:~$ seq 3 | tr -d '\n'
123user@linux:~$
user@linux:~$
单独使用是否可以tr
产生这样的输出?
所需输出
user@linux:~$ seq 3 | tr command here
123
user@linux:~$
答案1
选择对你有用的东西。
$ seq 3 | paste -s -d ''
123
$ seq 3 | tr -d '\n';echo
123
$ seq 3 | awk 1 ORS='';echo
123
答案2
$ seq -s '' 3
123
这指示seq
使用空字符串作为数字的分隔符(而不是默认的换行符)。
答案3
尝试这个,
seq 3 | paste -s -d ''
123
- -d,分隔符为空
- -s,串行打印而不是并行打印
答案4
解决方案可能是
echo $(seq 3 | tr -d '\n')
当您使用 switch 删除所有换行符时,-d '\n'
您必须使用某种技巧再次添加最后一个换行符。