Category: Bash

Как в Linux найти все файлы НЕ содержащие строку

Например нам надо найти все php файлы, которые не содержат строку «/bitrix/footer.php» :

find .  -name "*.php"  -not  -ipath '.*svn*' -exec  grep  -H -E -o -c  "/bitrix/footer.php"  {} \; | grep 0

Или так (записать результат в файл):

find ./ -type f -name '*.php' -exec grep -L '/bitrix/footer.php' {} \; > result.txt
Скачать сайт целиком с помощью Wget игнорируя при этом robots.txt скачиваемого сайта

Скачать сайт целиком с помощью Wget игнорируя при этом robots.txt скачиваемого сайта

Так как Wget имитирует поисковой краулер (паук), то он по умолчанию просматривает файл robots.txt сайта и следует его инструкциям. Иногда вы хотите скачать сайт, но он не качается, т.к. в файле robots.txt указана следующая инструкция для поисковых роботов:

User-agent: *
Disallow: /

Эта инструкция запрещает роботам индексировать всё на этом сайте.

Но нам надо скачать сайт! Используя аттрибут -erobots=off можно проигнорировать любые инструкции из файла robots.txt и успешно скачать сайт.

Пример команды целиком:

wget -r -k -l 7 -p -E -nc -erobots=off --user-agent="Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36" http://www.example.com/

Advanced Bash-Scripting Guide

An in-depth exploration of the art of shell scripting here (http://www.tldp.org/LDP/abs/html/) or here (local copy)…

Bash script to mass convert files from UTF-8 to Windows-1251

[shell]$ nano converter.sh

#/bin/bash
LIST=`ls *.php`
for i in $LIST;
do iconv -f UTF8 -t WINDOWS-1251 $i -o $i."windows-1251";
mv $i."windows-1251" $i;
done

[shell]$ chmod +x converter.sh
[shell]$ ./converter.sh

© 2007–2024, konyakov.ru