утилита 'standard' для удаления определенных символов tr
:
NAME
tr - translate or delete characters
SYNOPSIS
tr [OPTION]... SET1 [SET2]
DESCRIPTION
Translate, squeeze, and/or delete characters from standard input, writ‐
ing to standard output.
Так например
tr -d '][' < file
В отличие от GNU sed, tr читает и записывает только в стандартные потоки; однако вы можете имитировать редактирование "in place" с помощью временного файла:
tmpfile=$(mktemp)
tr -d '][' < file > "$tmpfile" && mv "$tmpfile" file
или с помощью команды sponge
из пакета moreutils
:
tr -d '][' < file | sponge file
Вы также можете использовать awk
- например, разбивая строки файла на поля , разделенные ]
и [
и печатая только второе:
awk -F '[][]' '{print $2}' file
Вы можете использовать тот же трюк с tmpfile, чтобы имитировать редактирование на месте, или с помощью GNU awk (также известного как gawk), используйте
модуль inplace
:
gawk -i inplace -F '[][]' '{print $2}' file