Использование expand
, как предложено в других ответах, представляется наиболее логичным подходом только для этой задачи.
Тем не менее, это также можно сделать с Bash и Awk, если вы захотите сделать некоторые другие модификации вместе с ним.
Если вы используете Bash 4.0 или выше, shopt builtin globstar
может использоваться для рекурсивного поиска с помощью **
.
С GNU Awk версии 4.1 или выше могут быть сделаны sed как «inplace»:
shopt -s globstar
gawk -i inplace '{gsub("\t"," ")}1' **/*.ext
Если вы хотите установить количество пробелов на каждую вкладку:
gawk -i inplace -v n=4 'BEGIN{for(i=1;i<=n;i++) c=c" "}{gsub("\t",c)}1' **/*.ext