Удаленное обнаружение имени хоста и IP-адреса

Ваша команда print должна идти в конце, и вы также хотите запретить печать по умолчанию:

ls -l | sed -n '/^.rwx/p'

Если вы работаете в системе с stat, есть еще один способ решить проблему:

for f in *
do
  stat -c "%a" "$f" | grep -q ^7 && printf "%s\n" "$f"
done

Опасно полагаться на вывод ls; представьте, что кто-то создал такой файл:

touch $'foo\n-rwx some file'

... который создаст отдельную строку в выводе ls, которая (ложно) соответствует регулярному выражению. Использование оболочки оболочки (*) позволяет избежать этой проблемы.

Еще один способ — использовать find:

find . ! -name . -prune -perm -700 -ls
1
14.11.2016, 02:27
0 ответов

Теги

Похожие вопросы