Мое намерение состоит в том, чтобы превратить все * .less файлы в style.css
. Я не очень знаком с этим sed, однако я решил это благодаря: http://forums.devshed.com/unix-help-35/unix-find-and-replace-text-within-all-files-within-a-146179.html
for file in $(grep -rl ".less" *.php)
do
sed -e "s/\/*.less/\/style.css/ig" $file > /tmp/tempfile.tmp
mv /tmp/tempfile.tmp $file
done
Теперь для этого нужны мои файлы:
css/somefile.less
css/somefileagain.less
css/style.css
index.php
, на который ссылается документ php
<link rel="stylesheet" type="text/css" href="css/somefile.less" />
<link rel="stylesheet" type="text/css" href="css/somefileagain.less" />
Мой результат становится
<link rel="stylesheet" type="text/css" href="css/somefile/style.css" />
<link rel="stylesheet" type="text/css" href="css/somefileagain/style.css" />
Что не являетсячто я хочу.Я хочу, чтобы это был тот же путь, и я думаю, что мне не хватает только * в регулярном выражении, которое не заменяется на sed.Есть ли способ заставить это работать, я пытался сделать так, чтобы это выглядело так: (и я хочу заменить все / из .less на /style.css)
\/*.less
И все же это нене работает, может быть, этот подход не самый лучший, мне нужны некоторые советы, если есть какие-либо флаги, которые также заменят *, спасибо.
Еще одна проблема, которую я получил, - я не могу использовать -r / -R/ - рекурсивный в grep, и я не знаю почему, я использую Debian.Любые советы приветствуются.
/ Маркус