Я написал сценарий оболочки для тестирования, который выглядит следующим образом:
#!/bin/sh
echo 'line 1\n line2\n line3'
Я пытаюсь напечатать только одну строку, используя команду cut, например:
echo $(./myScript.sh | cut -d$'\n' -f1)
В приведенном выше примере я намерен напечатать 'line1'.Замена -f1 на -f2 привела бы к выводу «line2» вместо этого, или я так думал.
Вместо этого мой вывод выглядит так:
line1 line2 line3
Аналогично, если я изменю разделительот $ '\ n' до чего-то другого, например:
echo $(./myScript.sh | cut -d'e' -f1)
Вывод становится:
lin lin lin
Таким образом, кажется, что он печатает первое поле перед любыми разделителями для каждая строка вместо всего вывода myScript.sh в целом.Как я могу заставить команду cut работать на всю строку вместо каждой отдельной строки?Кроме того, какая другая команда может работать лучше для этой цели?
Спасибо!