Вы случайно пытались отредактировать свой .bashrc файл?
Существует резервная копия, расположенная здесь:
/etc/skel/.bashrc
Для восстановления корня выполняет это:
cp /etc/skel/.bashrc /root/.bashrc
Можно было бы отформатировать выходные данные с помощью GNUfind. Предполагая, что файлы создаются самим пользователем, ваша команда была бы:
find /home/ -maxdepth 2 -type f -name '*.c' -printf '%u,%p\n'
См. man find
для получения более подробной информации о printf
Вы могли бы также использовать следующие
find /home/ -maxdepth 2 -type f -name '*.c' -exec bash -c 'n="${1%/*}"; n="${n##*/}"; echo "$n",$1' _ {} \;
Было бы возможно отформатировать вывод с использованием GNUFIND. Предполагая, что файлы создаются самими пользователями пользователя вашей командой:
find /home/ -maxdepth 2 -type f -name '*.c' -printf '%u,%p\n'
см. Человек Найти
Для более подробной информации о PrintF
Вы также можете использовать следующие
find /home/ -maxdepth 2 -type f -name '*.c' -exec bash -c 'n="${1%/*}"; n="${n##*/}"; echo "$n",$1' _ {} \;
-121--128783- for i in /home/*/*.c
do
echo $i|awk 'BEGIN{FS="/"}{print $3, ",", $0;}'
done
Это может помочь.
или в более короткой форме
echo /home/*/*.c | awk 'BEGIN{FS="/";RS=" "}{printf "%s,%s\n",$3,$0;}'
где
Echo /home/*/*.ch
будет расширяться (при условии, что у вас есть справа), все .C файлы Начало {fs = "/"}
будет использоваться / в качестве поданного сепаратора {printf "% s,% s \ n", $ 0, $ 3;}
и распечатайте всю строку ($ 0) и файл (3 доллара)