Я читал оhttps://stackoverflow.com/questions/39791042/преобразовать-вертикальный-текст-в-горизонтальный-в-оболочке
и интересно, 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, разделители как null
- -s, печатать последовательно, а не параллельно
решение4
Решением может быть
echo $(seq 3 | tr -d '\n')
Поскольку вы удаляете все новые строки с помощью switch, -d '\n'
вам придется добавить последнюю строку снова с помощью какого-то трюка.