Bash: различия между версиями

Материал из wiki.nntc.nnov.ru
Перейти к навигации Перейти к поиску
(Убрать теги из html)
(Преобразование текста)
Строка 59: Строка 59:
 
!Нужно получить конфигурационный файл dhcpd.conf вида:
 
!Нужно получить конфигурационный файл dhcpd.conf вида:
 
|-
 
|-
|0A-71-91-5C-C3-93 192.168.10.5
+
|
 +
<pre>
 +
0A-71-91-5C-C3-93 192.168.10.5
 
CD-FC-BD-4C-4E-E5 192.168.10.6
 
CD-FC-BD-4C-4E-E5 192.168.10.6
 
E4-2C-53-4C-AB-94 192.168.10.7
 
E4-2C-53-4C-AB-94 192.168.10.7
Строка 71: Строка 73:
 
87-5B-5C-47-FC-BF 192.168.10.15
 
87-5B-5C-47-FC-BF 192.168.10.15
 
CC-31-EF-4C-24-6C 192.168.10.16
 
CC-31-EF-4C-24-6C 192.168.10.16
|host office-pc-05 {
+
</pre>
 +
|
 +
<pre>
 +
host office-pc-05 {
 
         hardware ethernet 0A:71:91:5C:C3:93;
 
         hardware ethernet 0A:71:91:5C:C3:93;
 
         fixed-address 192.168.10.5;
 
         fixed-address 192.168.10.5;
 
       }
 
       }
 +
</pre>
 
|}
 
|}
  

Версия 12:27, 2 мая 2012

Ссылки

клевый список по командам --- http://www.k-max.name/linux/osnovnye-komandy-linux-ili-shpargalka-nachinayushhego-linuksojda

Работа с файлами содержащими пробелы

#!/bin/bash
OLD_IFS=$IFS
IFS=$(echo "")
for i in $(ls *.odt)
do
echo "$i"
done
IFS=$OLD_IFS

(11:31:41) Юрий Азовцев: переопределяем переменную окружения IFS (она содержит символ - разделения слов в строке), меняем его на символ \n - перевода на новую строку - и все хокей

Загрузка файла с хоста уменьшающего скорость

#!/bin/bash
#antishaper.sh
for i in $(seq 1 100) 
do 
	wget -c $1 &  
	wget_pid=$! 
	sleep 20s #ожидаем 20 секунд
	ps ux | grep $wget_pid | grep wget
	if [ $? -eq '1' ]
		then
		exit 1
	fi
	kill $wget_pid
done

Бэкапы с уделением бэкапов за последние 30 дней

#!/bin/bash
#backuper.sh
tar -czpf $(date +%Y-%m-%d)-backup.tar.gz $1
echo "Backup Finished"
period=2592000
for i in $(ls *-backup.tar.gz)
do
	time=${i%-backup.tar.gz}
	file_utime=$(date --date="$time" +%s)
	cur_utime=$(date +%s)
	if [ $(($cur_utime - $file_utime)) -gt $period ]
	then 
		rm $i
		echo "File $i deleted"
	fi
done

Убрать теги из html

cat index.html | sed 's/<[a-zA-Z0-9\/]*>//g'

Преобразование текста

Есть список Mac и соответствующих IP Нужно получить конфигурационный файл dhcpd.conf вида:
0A-71-91-5C-C3-93 192.168.10.5
CD-FC-BD-4C-4E-E5 192.168.10.6
E4-2C-53-4C-AB-94 192.168.10.7
9F-5B-44-F4-F4-0C 192.168.10.8
7A-62-27-8E-FC-4E 192.168.10.9
10-06-C0-A1-62-84 192.168.10.10
34-30-80-F2-7C-CF 192.168.10.11
D7-61-FB-2B-AD-A7 192.168.10.12
C0-4D-02-04-41-F7 192.168.10.13
10-BC-59-38-4A-55 192.168.10.14
87-5B-5C-47-FC-BF 192.168.10.15
CC-31-EF-4C-24-6C 192.168.10.16
host office-pc-05 {
        hardware ethernet 0A:71:91:5C:C3:93;
        fixed-address 192.168.10.5;
      }
#!/bin/bash

for i in $(cat mac-ip.txt|awk '{print $1"_"$2}')
   do

mac=$(echo $i|sed 's/-/:/g'|awk -F "_" '{print $1}') ip=$(echo $i|awk -F "_" '{print $2}') hostNumber=$(echo $ip|awk -F "." '{print $4}') echo "host office-pc.$hostNumber {" >>dhcpd.conf echo "hardware ethernet $mac;" >>dhcpd.conf echo "fixed-addres $ip;" >>dhcpd.conf echo "}" >>dhcpd.conf echo "" >>dhcpd.conf

   done