с tr
и cut
:
tr ' |' '>>' <input |cut -d\> -f1,6
..... которая tr
отвечает всем пробелам и |
трубит в >
прямоугольники, затем вырезает
из результирующего > -d
устраняет -f
-показывает только 1-е и 6-е.
С sed...
sed -n 'y/ /\n/;s/.*|/>/;P' <input
Которая также y///
преобразует все пробелы в \n
ewlines, затем s///
отбрасывает самую левую и самую длинную строку, которая может заканчиваться трубой |
в единственную >
, после чего P
прорисовывает только до первой \n
осевой линии в пространстве шаблонов.
не похоже, что без какой-то волшебного обмана (т. Е. Вариант нет). Вы можете использовать SH -C
, хотя и:
$ ssh cshuser@localhost 'sh -c "( ls -d / nosuchfile ) & echo foo; wait"'
foo
ls: nosuchfile: No such file or directory
/
IMHO Это лучший вариант в любом случае, поскольку есть больше оболочек, чем Bash
& CSH
(например, Рыба
), и у вас нет гарантии на то, как кто-либо из них ведет себя ...