Ваш процесс умер из-за SIGTTOU
.
Если вы хотите предотвратить это, вы должны быть осторожны, чтобы не печатать что-либо в TTY, которым вы больше не владеете.
Кажется, вы хотите заменить все не -словесные символы (буквенно-цифровые )символами новой строки, а затем пытаетесь включить -
в набор не -словесных символов.
Чтобы сделать это сtr
(здесь, я также включил '
как допустимый символ слова, и я использую -s
для удаления последовательных новых строк в выводе):
tr -s -c "[:alnum:]-'" '\n'
или, используя класс эквивалентности [=-=]
, как вы, кажется, хотите сделать:
tr -s -c "[:alnum:][=-=]'" '\n'
@Kusalandra, спасибо за ответ, но это немного не то, что я хотел сделать. Моя цель состояла в том, чтобы напечатать каждое слово, состоящее из набора :alnum :или символа '-', на отдельной строке.
Результирующая последовательность создает новый класс, т.е.:
cat longfile | tr -c '[[:alnum:]-]' '[\n*]'
делает то, что я хотел сделать.
пример:
$echo aaa-abc asdasd asswdwew | tr -c '[[:alnum:]-]' '[\n*]'
aaa-abc
asdasd
asswdwew