2Sheridan: ну че, баттл? PS vs Bash...
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 25.06.08 15:34
Оценка: 1 (1) +4 -2 :))) :)))
Предлагаю баттл. Каждый нечетный раунд — мой, каждый четный — твой. "Хозяин" раунда озвучивает задачу, решенную им с помощью одного из сабжевых средств и представляет, собственно — решение. Второй — решает эту же задачу с помощью своего средства. Остальные — оценивают каждое из сообщений (1,2,3). Играем 10 раундов, каждый ведет по 5. По результатам — сложим оценки и определим победителя. Готов?

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re: Нет, zsh!
От: Roman Odaisky Украина  
Дата: 25.06.08 15:35
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>Предлагаю баттл. Каждый нечетный раунд — мой, каждый четный — твой. "Хозяин" раунда озвучивает задачу, решенную им с помощью одного из сабжевых средств и представляет, собственно — решение. Второй — решает эту же задачу с помощью своего средства. Остальные — оценивают каждое из сообщений (1,2,3). Играем 10 раундов, каждый ведет по 5. По результатам — сложим оценки и определим победителя. Готов?


bash — нечестно. Ты еще dash возьми.

То ли дело zsh.
До последнего не верил в пирамиду Лебедева.
Re: Раунд 1.
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 25.06.08 15:38
Оценка: 1 (1)
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>Предлагаю баттл. Каждый нечетный раунд — мой, каждый четный — твой. "Хозяин" раунда озвучивает задачу, решенную им с помощью одного из сабжевых средств и представляет, собственно — решение. Второй — решает эту же задачу с помощью своего средства. Остальные — оценивают каждое из сообщений (1,2,3). Играем 10 раундов, каждый ведет по 5. По результатам — сложим оценки и определим победителя. Готов?


На самом деле, начался здесь, но так и не закончился. Итак:

Задача: найти различия в каталогах с вложенными подкаталогами и файлами внутри. некоторые файлы могут совпадать по имени но отличаться по размеру.

Решение на PS:

$dir1 = Get-ChildItem -recurse "C:\Temp\1"
$dir2 = Get-ChildItem -recurse "C:\Temp\2"
Compare-Object $dir1 $dir2

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[2]: Нет, zsh!
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 25.06.08 15:41
Оценка:
Здравствуйте, Roman Odaisky, Вы писали:

RO>Здравствуйте, kochetkov.vladimir, Вы писали:


KV>>Предлагаю баттл. Каждый нечетный раунд — мой, каждый четный — твой. "Хозяин" раунда озвучивает задачу, решенную им с помощью одного из сабжевых средств и представляет, собственно — решение. Второй — решает эту же задачу с помощью своего средства. Остальные — оценивают каждое из сообщений (1,2,3). Играем 10 раундов, каждый ведет по 5. По результатам — сложим оценки и определим победителя. Готов?


RO>bash — нечестно. Ты еще dash возьми.


RO>То ли дело zsh.


Шеридан упомянул именно bash вот здесь
Автор: Sheridan
Дата: 25.06.08
. Я его — за язык не тянул

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[2]: zsh
От: Roman Odaisky Украина  
Дата: 25.06.08 16:01
Оценка: 1 (1)
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>Задача: найти различия в каталогах с вложенными подкаталогами и файлами внутри. некоторые файлы могут совпадать по имени но отличаться по размеру.


KV>Решение на PS:


KV>
KV>$dir1 = Get-ChildItem -recurse "C:\Temp\1"
KV>$dir2 = Get-ChildItem -recurse "C:\Temp\2"
KV>Compare-Object $dir1 $dir2
KV>


zsh:
diff =(ls -lR path1) =(ls -lR path2)


Задача, впрочем, поставлена не очень корректно. Что нужно получить-то, и в каком виде? А если файлы различаются чем-то еще?
До последнего не верил в пирамиду Лебедева.
Re[3]: Нет, zsh!
От: Sheridan Россия  
Дата: 25.06.08 16:52
Оценка:
kochetkov.vladimir однажды (25 июня 2008 19:41) писал в rsdn.flame.comp:

> Шеридан упомянул именно bash вот здесь
Автор: Sheridan
Дата: 25.06.08
. Я его — за язык не тянул

Баш я упомянул как самую простую оболочку. После sh конечно... Чуть выше я zsh упомянул тоже.

--
...belive in the matrix...
Posted via RSDN NNTP Server 2.1 beta
Matrix has you...
Re[3]: Уточню
От: Roman Odaisky Украина  
Дата: 25.06.08 17:01
Оценка:
Здравствуйте, Roman Odaisky, Вы писали:

KV>>Задача: найти различия в каталогах с вложенными подкаталогами и файлами внутри. некоторые файлы могут совпадать по имени но отличаться по размеру.


Вот вариант, который учитывает только заданные свойства файла:
FIELDS='%s %p'
diff =(cd path1; find -printf $FIELDS'\n') =(cd path2; find -printf $FIELDS'\n')

А дальше всё сильно зависит от того, что хочется с этим делать. Например, если хочется список файлов, которые в одном месте есть, а в другом нет, то проще всего так:
(cd path1; find -printf '%s %p\n') | grep -v -F -f =(cd path2; find -printf '%s %p\n')

дальше их можно удалить (... | xargs rm) или еще что-нибудь сделать.

А что можно сделать с тем, что возвращает Compare-Object?
До последнего не верил в пирамиду Лебедева.
Re[2]: Раунд 1.
От: Sheridan Россия  
Дата: 25.06.08 17:01
Оценка: 1 (1)
kochetkov.vladimir однажды (25 июня 2008 19:38) писал в rsdn.flame.comp:

> Задача: найти различия в каталогах с вложенными подкаталогами и файлами внутри. некоторые файлы могут совпадать по имени но отличаться по размеру.


Дифф между двумя каталогами?
sheridan@amd /data/nix/test/script/data $ diff -rq ./data1 ./data2
Файлы ./data1/emget и ./data2/emget различаются
Только в ./data1: revdep-rebuild
Файлы ./data1/update_2006.0 и ./data2/update_2006.0 различаются
Файлы ./data1/xeffects/xeffects-emerge-all и ./data2/xeffects/xeffects-emerge-all различаются
Только в ./data1/xeffects: xeffects-emerge-base
Файлы ./data1/xeffects/xeffects-emerge-settings и ./data2/xeffects/xeffects-emerge-settings различаются

Ты это, вывод то тоже показывай чтобы было понятно что надо

--
...belive in the matrix...
Posted via RSDN NNTP Server 2.1 beta
Matrix has you...
Re: Раунд 2
От: Sheridan Россия  
Дата: 25.06.08 17:06
Оценка: 17 (6) :))) :))) :))) :))) :))) :)
kochetkov.vladimir однажды (25 июня 2008 19:34) писал в rsdn.flame.comp:

Монитор выключить сможеш?
xset -display :0 dpms force off


--
...belive in the matrix...
Posted via RSDN NNTP Server 2.1 beta
Matrix has you...
Re[3]: Раунд 1.
От: Roman Odaisky Украина  
Дата: 25.06.08 17:27
Оценка: +1
Здравствуйте, Sheridan, Вы писали:

>> Задача: найти различия в каталогах с вложенными подкаталогами и файлами внутри. некоторые файлы могут совпадать по имени но отличаться по размеру.


S>
S>sheridan@amd /data/nix/test/script/data $ diff -rq ./data1 ./data2
S>Файлы ./data1/emget и ./data2/emget различаются
S>Только в ./data1: revdep-rebuild
S>Файлы ./data1/update_2006.0 и ./data2/update_2006.0 различаются
S>Файлы ./data1/xeffects/xeffects-emerge-all и ./data2/xeffects/xeffects-emerge-all различаются
S>Только в ./data1/xeffects: xeffects-emerge-base
S>Файлы ./data1/xeffects/xeffects-emerge-settings и ./data2/xeffects/xeffects-emerge-settings различаются
S>

S>Ты это, вывод то тоже показывай чтобы было понятно что надо

Это немножко не то, ему не надо было сравнивать содержимое.
До последнего не верил в пирамиду Лебедева.
Re[4]: Раунд 1.
От: Sheridan Россия  
Дата: 25.06.08 17:32
Оценка:
Roman Odaisky однажды (25 июня 2008 21:27) писал в rsdn.flame.comp:

> Это немножко не то, ему не надо было сравнивать содержимое.

Просто список файлов сравнить? Тогда find+diff
--
...belive in the matrix...
Posted via RSDN NNTP Server 2.1 beta
Matrix has you...
Re[2]: Раунд 2
От: ДимДимыч Украина http://klug.org.ua
Дата: 25.06.08 18:23
Оценка: :))) :))) :)
Здравствуйте, Sheridan, Вы писали:

S>Монитор выключить сможеш?

S>
S>xset -display :0 dpms force off
S>


Sheridan, ниже пояса бить нельзя!
Обязательно бахнем! И не раз. Весь мир в труху! Но потом. (ДМБ)
Re[2]: Раунд 2
От: Roman Odaisky Украина  
Дата: 25.06.08 20:03
Оценка: 1 (1) +1
Здравствуйте, Sheridan, Вы писали:

S>Монитор выключить сможеш?

S>
S>xset -display :0 dpms force off
S>

Думаю, сможет. Всё, что для требуется для этого в WinAPI, — SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 2). Начудит что-нибудь через WMI.

Но это же совсем ничего не говорит о предмете обсуждения.
До последнего не верил в пирамиду Лебедева.
Re[3]: Раунд 2
От: Sheridan Россия  
Дата: 25.06.08 20:32
Оценка:
Roman Odaisky однажды (26 июня 2008 00:03) писал в rsdn.flame.comp:

> Но это же совсем ничего не говорит о предмете обсуждения.

Сама возможность начудить подобное говорит о многом.
Пусть это будет винапи или wsh — мне не важно, важна возможность.

--
...belive in the matrix...
Posted via RSDN NNTP Server 2.1 beta
Matrix has you...
Re: А вот задание для PS
От: Roman Odaisky Украина  
Дата: 25.06.08 21:08
Оценка: 7 (4)
Задача: отслеживать изменения в файловой системе. К примеру, всякий раз, как в некоей директории появляется файл, оповещать об этом пользователя.

bash:
while file="$(inotifywait -q -e create --format='%w/%f' /var/crash)"
do
    kdialog --msgbox "Something crashed and file $file was created."
done
До последнего не верил в пирамиду Лебедева.
Re[2]: Раунд 1.
От: TK Лес кывт.рф
Дата: 26.06.08 09:21
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>Задача: найти различия в каталогах с вложенными подкаталогами и файлами внутри. некоторые файлы могут совпадать по имени но отличаться по размеру.


Это и в фаре можно сделать. тут какбы 2008й год на дворе...
Можно сделать задачку более реалистичной. например, обновление фотоархива. есть фотоаппарат (допустим какой-нибудь cannon ixus — как storage не монтируется) надо сравнить его содержимое с содержимым медиа сервера который, доступен в сети через UPnP.

можно посмотреть как это замечательно делается на PS?
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[2]: Раунд 2
От: TK Лес кывт.рф
Дата: 26.06.08 09:33
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>Монитор выключить сможеш?


Давай проще — включим extended desktop (для двух мониторной конфигурации). видео... пусть будет простенький intel
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[3]: Раунд 2
От: Sheridan Россия  
Дата: 26.06.08 09:39
Оценка:
TK однажды (26 июня 2008 [Четверг] 13:33) писал в rsdn.flame.comp:

> Давай проще — включим extended desktop (для двух мониторной конфигурации). видео... пусть будет простенький intel

Присылай железо, у меня такого нету

--
...belive in the matrix...
Posted via RSDN NNTP Server 2.1 beta
Matrix has you...
Re[3]: zsh
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 26.06.08 10:00
Оценка: 1 (1)
Здравствуйте, Roman Odaisky, Вы писали:

RO>zsh:

RO>
diff =(ls -lR path1) =(ls -lR path2)


Ну, ок. Неудобочитаемый синтаксис, так неудобочитаемый:

PS:

diff (gci -recurse path1) (gci -recurse path2)


RO>Задача, впрочем, поставлена не очень корректно. Что нужно получить-то, и в каком виде? А если файлы различаются чем-то еще?


Да я не спорю. Лень было к оригиналу дополнительные условия придумывать. Это было так... Для затравки

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[4]: Уточню
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 26.06.08 10:02
Оценка:
Здравствуйте, Roman Odaisky, Вы писали:

RO>А что можно сделать с тем, что возвращает Compare-Object?


Все что угодно

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.