Титла: Странности в bash Публикувано от: qwert в Jun 21, 2007, 17:38 Не съм сигурен дали темата е за тук...
Имам следният прост скрипт: for i in `cat file1`;do cat ./file2|grep -v "$i\b" > ./file2 done file1 съдържа следните редове: 192.168.1.2 192.168.1.2 192.168.1.2 и така същото ИП 17реда file2 съдържа следните редове: 192.168.1.1 192.168.1.2 192.168.1.3 192.168.1.4 192.168.1.5 След изпълнението на скрипта file2 съдържа всички ИП-та без 192.168.1.2 до тук добре няма проблем но сложа ли още няколко реда с ИП-та в file1 по точно станат ли редовете повече от 17 след изпълнението на скрипта file2 остава празен.Направо не е за вярване... GNU bash, version 3.1.17 Ще съм благодарен на всякакви подсказки. Пробвах го на още две машини едната с bash 2.05 file2 остава празен дори над два реда с ИП-та попълнени в file1.. Титла: Странности в bash Публикувано от: VladSun в Jun 21, 2007, 17:46 Ми ... както е разисквано тук - така не трябва да се прави
![]() В смисъл - правиш cat и промяна на един и същ файл по едно и също време: cat ./file2|grep -v "$i\b" > ./file2 би трябвало да правиш нещо такова: cat ./file2|grep -v "$i\b" > ./file3 mv ./file3 ./file2 Титла: Странности в bash Публикувано от: neter в Jun 21, 2007, 18:52 Броя не е закотвен на 17. При мен и на 200 успява да се справи. Но както каза VladSun... не е хубаво едновременно да изпълняваш две неща върху един файл. Междудругото... защо са ти толкова повтарящи се IP-та във file1, при положение че и едно върши работа? Не за друго, просто ми е интересно къде се налага това.
Титла: Странности в bash Публикувано от: qwert в Jun 22, 2007, 10:39 Първо искам да благодаря за бързия отговор на VladSun който всъщност ми отвори очите.
А в отговор на neter ще кажа че това е просто пример и не върши никаква работа в случая. Поздрави... |