Расширение параметра Bash для удаления вкладок

Журналирование - Systemd буквально похожа на папку WinSXS, когда дело доходит до журналирования, он создает копии копий, если вы вручную не удалите или не уменьшите размер файла, он будет продолжать разъедать ваш диск. Я называю это куки загрузчика.

0
02.09.2015, 12:43
2 ответа

Вы можете использовать "$ {PARAMVAR // $ '\ t' /}" , но обратите внимание, что это функция bash, поэтому другие оболочки могут не поддерживаю это. Это означает, что запускайте сценарий с #! / Bin / bash , а не с #! / Bin / sh не запускайте его с sh имя сценария ).

$ PARAMVAR=$'space: tab:\tlinefeed:\nend'
$ echo "$PARAMVAR"
space: tab: linefeed:
end
$ echo "${PARAMVAR//$'\t'/}"
space: tab:linefeed:
end

Для сравнения, использование [[: blank:]] также избавит от пробелов:

$ echo "${PARAMVAR//[[:blank:]]/}"
space:tab:linefeed:
end

И вы всегда должны заключать ссылки на переменные в двойные кавычки, иначе все пробелы будут обрабатываться как разрывы слов (и echo превратят их в пробелы):

$ echo $PARAMVAR
space: tab: linefeed: end
2
29.04.2021, 00:24

Я только что справился с этим:

TATVAR="${PARAMVAR//[[:blank:]]/}"

Буду рад, если кто-нибудь подтвердит, что это правильно.

0
29.04.2021, 00:24

Теги

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