Я ищу способ убрать отступ в канале.Ниже приведено решение с использованием cut -c 9-
, в котором предполагается, что отступ имеет ширину 8 символов.
Я ищу решение, которое может определить количество удаляемых пробелов.Это означает, что нужно пройти весь файл (piped), чтобы узнать минимальное количество пробелов (табуляций?), Используемых для отступа, а затем удалить их в каждой строке.
run.sh
help() {
awk '
/esac/{b=0}
b
/case "\$arg" in/{b=1}' \
"$me" \
| cut -c 9-
}
while [[ $# -ge 1 ]]
do
arg="$1"
shift
case "$arg" in
help|h|?|--help|-h|'-?')
# Show this help
help;;
esac
done
$ ./run.sh --help
help|h|?|--help|-h|'-?')
# Show this help
help;;
Примечание: echo $' 4\n 2\n 3' | python3 -c 'import sys; import textwrap as tw; print(tw.dedent(sys.stdin.read()), end="")'
работает, но я ожидаю, что есть лучший способ (я имею в виду, тот, который зависит не только отпрограммное обеспечение более распространенное, чем python. Может быть, awk? Я бы тоже не отказался от решения perl.
Note2: echo $' 4\n 2\n 3' | python -c 'import sys; import textwrap as tw; print tw.dedent(sys.stdin.read()),'
также работает (Python 2.7.15rc1).