Я хотел бы отобразить ctime, mtime и atime файла вместе с тем, имеет ли он расширенные атрибуты или нет. Есть две команды, которые могут это сделать, но мне не удалось объединить их в одну команду, чтобы получить одну строку вывода.
find /tmp -maxdepth 1 -printf "%a _ %c _ %t _ %P\n"
дает результат, аналогичный этому:
Thu Aug 27 09:51:11 2015 _ Thu Aug 27 09:48:40 2015 _ Thu Aug 27 09:48:40 2015 _ tempfile.tmp
и
ls -l /tmp
дает результат, аналогичный этому:
-rw-rw----+ 1 root root 5 Aug 27 04:39 tempfile.tmp
Меня интересует только символ "+" после разрешений в выводе ls.
В идеале я бы хотел, чтобы результат был примерно таким:
+ Thu Aug 27 09:51:11 2015 _ Thu Aug 27 09:48:40 2015 _ Thu Aug 27 09:48:40 2015 _ tempfile.tmp
Thu Aug 27 09:51:11 2015 _ Thu Aug 27 09:48:40 2015 _ Thu Aug 27 09:48:40 2015 _ anothertempfile.tmp
Так что напишите сценарий оболочки для сбора ваших данных в переменные. После того, как у вас есть данные в переменных, вы можете переформатировать и распечатать их именно так, как вам нужно.
Вы можете написать небольшой скрипт, который сделает это за вас (это некрасиво, но работает):
#!/bin/bash
for f in *; do
flag="x"
attr=$(getfattr $f)
if [ "$attr" = "" ]
then flag=" "
fi
find -name $f -printf "$flag %a _ %c _ %t _ %P\n"
done