Удаление знаков препинания, кроме определенного символа в определенной позиции

Причина в том, что в то время как цикл выполняется в подоболочке из-за того, что он передан по конвейеру. Подоболочка использует копию родительской среды оболочки и не передает ее обратно при выходе из подоболочки.

для bash можно использовать обходной путь группировки команд, обратите внимание на добавленные фигурные скобки

ls -las | tail -n +4 | { while read line;  do  ring+=("$line");  echo ${ring[-1]};  done;  echo ${ring[0]}; }
0
25.04.2019, 22:35
1 ответ

Согласно ответу @xenoid, у меня работает следующий код

echo -e "Hello.\n;132\$And; Another\$98?';:" | sed -e 's/\([[:alpha:]]\+\)\$\([[:digit:]]\+\)/\1 THIS \2/g' -e 's/[[:punct:]]//g' -e 's/ THIS /$/g' | tr '[:upper:]' '[:lower:]'

Результат:

hello
132and another$98
0
28.01.2020, 03:47

Теги

Похожие вопросы