Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Полезные bash-скрипты  (Прочитано 12387 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sidbar

  • Любитель
  • *
  • Сообщений: 56
    • Просмотр профиля
Re: Полезные bash-скрипты
« Ответ #15 : 16 Марта 2010, 22:15:25 »
> "127.0.0.1 microsoft.com"
а возврат каретки как из строки добавить?

Oni-chan

  • Гость
Re: Полезные bash-скрипты
« Ответ #16 : 16 Марта 2010, 22:17:08 »
возврат каретки не нужен.
Достаточно перехода на новую строку \n

Оффлайн sidbar

  • Любитель
  • *
  • Сообщений: 56
    • Просмотр профиля
Re: Полезные bash-скрипты
« Ответ #17 : 17 Марта 2010, 00:58:42 »
возврат каретки не нужен.
Достаточно перехода на новую строку \n
пример, если не затруднит вас. Перепробовал разное добавляет в файл /n

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Полезные bash-скрипты
« Ответ #18 : 17 Марта 2010, 06:07:03 »
sidbar, да ты ГЕНИЙ! пример в посте номер 14! Кавычки проверь и слэшь должен быть вот такой вот \ а не как у тебя /
Отсыпь немного своего "разного" которое ты пробуешь =)

Оффлайн sidbar

  • Любитель
  • *
  • Сообщений: 56
    • Просмотр профиля
Re: Полезные bash-скрипты
« Ответ #19 : 17 Марта 2010, 15:22:13 »
делаем так, как написали выше:
sudo -s
затем:

echo "\n \n 127.0.0.1 microsoft.com" >> /etc/hosts
после:

root@ubuntu:~# cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 ubuntu

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
\n \n 127.0.0.1 microsoft.com

Оффлайн baklan

  • Активист
  • *
  • Сообщений: 387
    • Просмотр профиля
    • backline
Re: Полезные bash-скрипты
« Ответ #20 : 17 Марта 2010, 15:31:41 »
хм, а у меня вот

[root ~]# echo '127.0.0.1 microsoft.com' >> /etc/hosts
[root ~]# echo '127.0.0.1 microsoft.com' >> /etc/hosts
[root ~]# echo '127.0.0.1 microsoft.com' >> /etc/hosts
[root ~]# echo '127.0.0.1 microsoft.com' >> /etc/hosts
[root ~]# mcedit  /etc/hosts

127.0.0.1 microsoft.com
127.0.0.1 microsoft.com
127.0.0.1 microsoft.com
127.0.0.1 microsoft.com

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Полезные bash-скрипты
« Ответ #21 : 17 Марта 2010, 15:35:18 »
делаем так, как написали выше:
echo "\n \n 127.0.0.1 microsoft.com" >> /etc/hosts
echo "127.0.0.1 microsoft.com" >> /etc/hosts # Profit!
Я один вижу отличие? А вот если надо в начале вставить перевод строки, то нужно указать -e в опциях echo, чтоб раскрывались escape последовательности.

Оффлайн sidbar

  • Любитель
  • *
  • Сообщений: 56
    • Просмотр профиля
Re: Полезные bash-скрипты
« Ответ #22 : 17 Марта 2010, 15:40:22 »
делаем так, как написали выше:
echo "\n \n 127.0.0.1 microsoft.com" >> /etc/hosts
echo "127.0.0.1 microsoft.com" >> /etc/hosts # Profit!
Я один вижу отличие? А вот если надо в начале вставить перевод строки, то нужно указать -e в опциях echo, чтоб раскрывались escape последовательности.

спасибо, так работает, ну а как добавить в начало файла или после определенной записи в файле?

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Полезные bash-скрипты
« Ответ #23 : 17 Марта 2010, 16:09:38 »
sed -i 'номер_строкиi127.0.0.1 microsoft.com' /etc/hosts

Axa-Ru

  • Гость
Re: Полезные bash-скрипты
« Ответ #24 : 17 Марта 2010, 16:14:04 »
Ека вас торкнуло  :)

Оффлайн sidbar

  • Любитель
  • *
  • Сообщений: 56
    • Просмотр профиля
Re: Полезные bash-скрипты
« Ответ #25 : 17 Марта 2010, 17:07:31 »
sed -i 'номер_строкиi127.0.0.1 microsoft.com' /etc/hosts

отлично работает! и даже с \n а как вставить после ff02::1 ip6-allnodes например?

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Полезные bash-скрипты
« Ответ #26 : 17 Марта 2010, 17:17:07 »
Почитайте
man sed
Там найдете, как найти номер строки по содержимому, а дальше Вы уже знаете ходы.

Вероятно, команда
sed -n '/ff02::1/=' /etc/hosts
Вам подойдет.
Попробуйте сами.
« Последнее редактирование: 17 Марта 2010, 17:33:42 от alexander.pronin »

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Полезные bash-скрипты
« Ответ #27 : 17 Марта 2010, 17:53:32 »
sed -i 's/^ff02::1 ip6-allnodes$/\0\n127.0.0.1 microsoft.com/' /etc/hosts
Учти только, что поиск идёт по регулярному выражению.

Оффлайн sidbar

  • Любитель
  • *
  • Сообщений: 56
    • Просмотр профиля
Re: Полезные bash-скрипты
« Ответ #28 : 17 Марта 2010, 18:35:46 »
ок, спасибо. Буду разбираться

Оффлайн _92

  • Любитель
  • *
  • Сообщений: 90
  • puppyrus.org
    • Просмотр профиля
    • 10021987.ru
Re: Полезные bash-скрипты
« Ответ #29 : 18 Марта 2010, 08:54:29 »
для удобства
alt+f2 gnome-terminal
cd
mkdir -p sh
cd sh
touch script_name.sh
chmod +x script_name.sh
nano script_name.sh
(копируем скрипт ниже и вставляем в nano)
shift+ins
ctrl+o enter ctrl+x
./script_name.sh

#dd_iso.sh
#быстрое создание образа компакт-диска в домашней директории
#имя образа ггммдд_ччммсс.iso

#!/bin/bash
echo "********** iso-creation ********** start **********"
disk_name=$(date +%y%m%d_%H%M%S)
dd if=/dev/cdrom of=~/$disk_name.iso
echo "********** iso-creation ********** finish **********"

#find_big_files.sh
#быстрый поиск больших файлов
# вывод списка файлов из домашней директории больших трехсот метров в сортировке по убыванию

#!/bin/bash
echo "********** find big files ********** start **********"
find ~ -type f -size +300M -exec ls -l {} \; | sort -n -r
echo "********** find big files ********** finish **********"

#find_last_files.sh
#быстрый поиск последних изменений в хоуме
#для выхода из less нажать q

#!/bin/bash
ls -aglotF ~ | less

#backup_dir.sh
#создание резервной копии файлов ггммчч_ччммсс.tar в $backup_dir/$whats_backup
#автоудаление старых резервных копий перед созданием архива - если количество резервок превосходит $count_remain
#сжатие резервки с помощью gzip с выводом степени компрессии

#!/bin/bash

echo "********** backup ********** start **********"

whats_backup='sh'
backup_dir='backup'
archive_name=$(date +%y%m%d_%H%M%S)
count_remain=3

cd
mkdir -pv $backup_dir
cd $backup_dir
mkdir -pv $whats_backup
cd

count_files=$(find $backup_dir/$whats_backup -type f | wc -l)
while [ "$count_files" -ge "$count_remain" ]
do
echo "********** del olds ********** please wait **********"
file=$(ls -1tR $backup_dir/$whats_backup | tail -1)
file_to_del=$(find $backup_dir/$whats_backup -name "$file" | tail -1)
count_files=$(find $backup_dir/$whats_backup -type f | wc -l)
rm -v "$file_to_del"
done

echo "********** tar ********** please wait **********"
tar -cvf $backup_dir/$whats_backup/$archive_name.tar $whats_backup/*

echo "********** gzip ********** please wait **********"
gzip -v $backup_dir/$whats_backup/$archive_name.tar

echo "********** backup ********** finish **********"

g4600 + ssd + ddr4

 

Страница сгенерирована за 0.043 секунд. Запросов: 25.