@vldmr5150

Как заменить несколько вхождений в строке с помощью sed?

Подскажите, нужно преобразовать права доступа,выводимые командой ls -l из вида rwx в вид read-write-execute, не заменяя r,w,x в остальных выводимых данных.
  • Вопрос задан
  • 651 просмотр
Решения вопроса 1
@perminov_dot_im
Linux администратор
Могет так?

a=$(ls -l | tail -n +2)
while read line
do
b=$(echo "$line" | awk '{print $1}' | sed -e 's/r/read/g' | sed -e 's/x/execute/g' | sed -e 's/w/write/g' )
c=$(echo "$line" | awk '{for (i=2; i<=NF; i++) print $i}')

echo $b $c >> ls.txt
done <<< "$a"
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы