|
Внимание! Теперь для входа на форум необходимо вводить единый пароль регистрации сервисов sibnet.ru!
Здравствуйте, гость ( Вход | Регистрация )
Сейчас обсуждают
 
| |
|
|
Великий Bash |
|
|
Jek |
14.6.2016, 19:04
|
Группа: Супермодераторы
Сообщений: 16 247
Регистрация: 27.9.2007
Из: N44.785780 E37.385650 WEB: https://irc.k-42.ru IRC: irc.sibnet.ru #iclub
Пользователь №: 6 588
Репутация: 1856
|
Реализовать это можно без проблем. Код #!/bin/sh CURDIR=`pwd` LC=`locale | grep ^LANG | awk -F"." '{print $2}'` cd / find . -name "superpuper.file" -type f -exec echo "Дописанная строчка" | \ iconv -f windows-1251 -t $LC >> {} \; cd $CURDIR Можно ещё сотню интересных вариантов придумать .
|
|
|
|
netxyligan |
14.6.2016, 20:44
|
Поддерживает разговор
Группа: Пользователи
Сообщений: 174
Регистрация: 28.7.2012
Из: Новосибирск
Пользователь №: 443 513
Репутация: 4
|
Цитата(Jek @ 14.6.2016, 18:04) Реализовать это можно без проблем. Код #!/bin/sh CURDIR=`pwd` LC=`locale | grep ^LANG | awk -F"." '{print $2}'` cd / find . -name "superpuper.file" -type f -exec echo "Дописанная строчка" | \ iconv -f windows-1251 -t $LC >> {} \; cd $CURDIR Можно ещё сотню интересных вариантов придумать . я вижу у тебя sh, могу ли на bash менять или как?
|
|
|
|
Jek |
14.6.2016, 21:31
|
Группа: Супермодераторы
Сообщений: 16 247
Регистрация: 27.9.2007
Из: N44.785780 E37.385650 WEB: https://irc.k-42.ru IRC: irc.sibnet.ru #iclub
Пользователь №: 6 588
Репутация: 1856
|
Цитата(netxyligan @ 14.6.2016, 20:44) я вижу у тебя sh, могу ли на bash менять или как? Ну если уж какой-то древний tcsh может это выполнить - названный тобой великим bash тоже справится. Цитата(netxyligan @ 14.6.2016, 21:03) Ругается, аргументы чет я понять у exec не могу А это уже особенности реализации find в разных линуксах. Можно посмотреть man в своей любимой системе и подправить под свои нужды.
|
|
|
|
Jek |
14.6.2016, 23:52
|
Группа: Супермодераторы
Сообщений: 16 247
Регистрация: 27.9.2007
Из: N44.785780 E37.385650 WEB: https://irc.k-42.ru IRC: irc.sibnet.ru #iclub
Пользователь №: 6 588
Репутация: 1856
|
Да здесь трубопровод по большому счёту не нужен, это я уже впилил от нефиг делать . Вот такой вариант 100% рабочий - ищет по всем дискам, вгоняет строку без перекодировки, возвращается в исходную папку. Работает даже под FreeBSD . Код #!/bin/sh CURDIR=`pwd` cd / find . -name "superpuper.file" -type f -exec echo "Дописанная строчка" >> {} \; cd $CURDIR
|
|
|
|
netxyligan |
15.6.2016, 10:10
|
Поддерживает разговор
Группа: Пользователи
Сообщений: 174
Регистрация: 28.7.2012
Из: Новосибирск
Пользователь №: 443 513
Репутация: 4
|
Цитата(Jek @ 14.6.2016, 22:52) Да здесь трубопровод по большому счёту не нужен, это я уже впилил от нефиг делать . Вот такой вариант 100% рабочий - ищет по всем дискам, вгоняет строку без перекодировки, возвращается в исходную папку. Работает даже под FreeBSD . Код #!/bin/sh CURDIR=`pwd` cd / find . -name "superpuper.file" -type f -exec echo "Дописанная строчка" >> {} \; cd $CURDIR Будем тестить. Кстати, забыл уточнить, сижу на Arch
|
|
|
|
netxyligan |
15.6.2016, 13:28
|
Поддерживает разговор
Группа: Пользователи
Сообщений: 174
Регистрация: 28.7.2012
Из: Новосибирск
Пользователь №: 443 513
Репутация: 4
|
Цитата(Jek @ 15.6.2016, 11:22) А find по-твоему что делает? Ну он находит, а как заставить echo отправлять строчку не по точному пути, а по всем путям, что нашел find?
|
|
|
|
netxyligan |
15.6.2016, 17:02
|
Поддерживает разговор
Группа: Пользователи
Сообщений: 174
Регистрация: 28.7.2012
Из: Новосибирск
Пользователь №: 443 513
Репутация: 4
|
Цитата(Jek @ 15.6.2016, 12:43) Бррррррррррррррррр... Почитай, как find работает. Команда, указанная в -exec применяется ко всем найденным файлам.
Поспал, покушал, посидел на горшке и там мне пришла самая умная мысль, и вот она: Код find /home/domain/homes -mount -name "bookmarks" -exec sed -i '/davs/d' {} \; find /home/domain/homes -mount -name "bookmarks" -exec sh -c 'echo -e "davs://files.e2e4online.ru/remote.php/webdav Облачное хранилище\n" >> {}' \; ПЫ.СЫ. Тему можно закрывать Сообщение отредактировал netxyligan - 15.6.2016, 17:03
|
|
|
|
|
|
1 чел. просматривают этот форум (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|