С файлом tar.bz2, чтобы не получилось что-то вроде:
0 0 2019-04-02 17:20 folder name
Я использую -опции tf:
tar -tf file_name.tar.bz2 | head -1 | cut -f1 -d"/"
Переменные не раскрываются внутри одинарных кавычек, но раскрываются внутри двойных кавычек. Вы должны пойти на
for word in am pm cm words count etc
do
sed -i "s/${word}//g" book
done
Обратите внимание, что вы также можете вызвать sed
только один раз и добиться того же с помощью
sed -i "s/am\|pm\|cm\|words\|count//g" book
Если список слов очень длинный, вы можете использовать массив в bash
и отформатировать его.
words=(am pm cm words count etc)
fmt=$(IFS='|'; printf '%q' "s/${words[*]}//g")
echo sed -i "$fmt" book
Просто добавьте больше элементов в слова массива, если это необходимо.
Удалите echo
, чтобы sed мог выполнять свою работу.