Для полноты, вот SD-ответ, который один раз читает через каждый файл (надеюсь, быстрее, чем несколько SED
, CAT
и TAC
Завершение, если файлы большие):
for file in file.log.*; do
echo "file: $file"
sed -n "
/[^[:space:]]/ { # Match first non-whitespace line
h # Copy to hold buffer
s/^/first line: / p # Add prefix and print
:loop
$ { # Match last line
g # Get contents of hold buffer
s/^/last line: / p # Add prefix and print
}
n # Load next line
/[^[:space:]]/ h # Copy non-whitespace line to hold buffer
b loop # Jump back to process next line
}" "$file"
done
, чтобы включить файл, он должен быть открыт (чтение), нет никакой разницы между чтением файла, чтобы увидеть его и читать файл включить его. Таким образом, единственный способ состоит в том, чтобы сделать владельцем Secred файла, равным пользователю, которое запускает сценарий, который включает в себя файл.
Если вы хотите, чтобы тот же пользователь не сможет открыть файл, но иметь возможность включать его, то ваш запрос не имеет смысла и, таким образом, не имеет решения.