Как ранее сказано, Вы можете получить доступ к localhost, Вы просто не в состоянии получить список каталогов. Или поместите файл index.html в корневой каталог или включите список каталогов. К включенному Списку Каталогов:
$ sudo vi /etc/httpd/conf/httpd.conf
Ищите:
<Directory />
</Directory>
Отредактируйте его для сходства с:
<Directory />
Options Indexes FollowSymLinks
AllowOverride None
</Directory>
Сохраните конфигурацию (символ ESC: wq!)
Затем необходимо будет перезапустить апача:
$ sudo /etc/init.d/httpd restart
Необходимо теперь видеть, что каталог перечисляет при соединении 127.0.0.1 на порте 80.
Можно соответствовать на нескольких шаблонах как так:
awk '/Jun/ || /July/ || /Aug/' <(ls -lrh)
Это возвращает все соответствия или на июнь, июль или на август. Вы не требуете print
оператор, поскольку это awk
действие по умолчанию.
Как правило это - очень плохая идея проанализировать вывод ls. Лучший способ сделать, что Вы хотите,
stat -c "%n %y" * | grep 2013-0[678]
С другой стороны, проверьте только последнее поле для защиты от маловероятного случая, где само имя файла является датой:
stat -c "%n %y" *| awk '$NF ~ /2013-0[678]/'
От man stat
:
-c --format=FORMAT
use the specified FORMAT instead of the default; output a new‐
line after each use of FORMAT
%y time of last modification, human-readable
%n file name
| awk '$NF ~ /2013-0[678]/'
только проверять последнее выходное поле, в (вряд ли?) даже, что имя файла соответствует regex, даже когда дата не делает.
– tripleee
17.11.2015, 14:52
ls
команда должна отобразить информацию о файлах в человекочитаемом. Не используйте его в сценариях.
Команда для нахождения файлов в дереве каталогов, соответствующем определенным критериям, find
. Если у Вас есть GNU, находят (т.е. не встроил Linux или Cygwin), или FreeBSD находят (т.е. FreeBSD или OSX), можно использовать -newermt
соответствовать файлам, которые были в последний раз изменены после определенной даты.
find . -newermt '1 June' ! -newermt '1 September' -print
Добавьте год, если Вы хотите соответствовать файлам в определенном году, а не календарный год, когда сценарий работает.
Если Ваша реализация находки не имеет -newermt
, необходимо будет суметь обойтись -newer
, который сравнивает дату файла это find
найденный с фиксированным файлом. использовать touch
создать временные файлы с датой, которую Вы хотите использовать в качестве границы.
dir=$(mktemp -d)
touch -d 201306010000 "$dir/from"
touch -d 201309010000 "$dir/to"
find . -newer "$dir/from" ! -newer "$dir/to" -print
rm -r "$dir"
awk '/Jun|Jul|Aug/'
илиawk '/Ju[nl]|Aug/'
– cas 30.09.2013, 02:55