Существуют многочисленные проблемы с Вашим sed
строка, например, с переменной $i
в одинарных кавычках, никогда не расширяемых.
Учитывая следующий index.html:
<html>
<body>
<!-- placeholder -->
</body>
</html>
попытайтесь использовать посреднические файлы для sed
в/производить:
#!/bin/bash
list_dir=`ls -t downloads/`
cp index.html out.html
for i in $list_dir
do
sed "s/<!-- placeholder -->/<a href='downloads\/$i'>$i<\/a>\n<!-- placeholde
r -->/" out.html > tmp.html
mv tmp.html out.html
done
cat out.html
Конечно, Вы столкнетесь с проблемами, когда будут имена файлов с пробелами в них, но это - другая проблема.
Как @artfulrobot указанный в его комментарии, 5.4.35-0+deb7u2
были выпущены, который устраняет проблему. После установки его все вернулось к нормальному.
Может быть, попробуйте старое утверждение в / usr / lib / php5 / sessionclean
?
$ [ -x /usr/bin/lsof ] && /usr/bin/lsof -w -l +d "${1}" -F0 | \
sed -zne "s/^n//p" | xargs -0i echo touch -c -h "'{}'"
Старый:
$ [ -x /usr/bin/lsof ] && /usr/bin/lsof -w -l +d "${1}" | \
awk -- '{ if (NR > 1) { print $9; } }' | xargs -i touch -c {}