On Tue, 15 Apr 2008 10:28:53 +0300 "Dimitar Vasilev" <[EMAIL PROTECTED]> wrote: 

DV> На 15.04.08, Yordan Boikov <[EMAIL PROTECTED]> написа:
>> 
>> опс :)
>> трябва да е с == (два пъти равно) щото иначе е присвояване а не сравнение
>> :)
>> 
>> awk -F: '{if ($2=="") print $0}'

DV> не сработва добре:
DV> Дава ми:
DV> b10SID_ora_PID.trc:
DV> b10SID_ora_PID.trc:
DV> b10SID_ora_PID.trc:
DV> b10SID_ora_PID.trc:
DV> и в низа се пръква
DV> b10SID_ora_6762.trc: ooooooooooooo
DV> b10SID_ora_PID.trc:
DV> b10SID_ora_PID.trc:
DV> b10SID_ora_PID.trc:
DV> b10SID_ora_PID.trc:
DV> 17793   18406    1399   18132   18108   18774   18763   18757   18767
DV> 18138   12169     668   29722

DV> Идеи как да добавя и ofs да е null?

Забележи документацията:

      fuser outputs only the PIDs to stdout, everything else is sent to stderr.

така че трябва да използваш |& (tcsh/zsh).  Това е за да можеш да кажеш
kill `fuser FILE` мисля, но е неудобно в твоят случай.

Също ме учудва, че твоят fuser показва файлове който не се използват.
Моят казва в опцийте:

       -a     Show all files specified on the command line. By default, only 
files that are accessed by at least one process are shown.

така че без -a би трябвало да покаже само използваните файлове, и 
`cut -d : -f 1' ще стигне.

Аз бих използвал fuser индивидуално с всеки файл, защото връща 0 само
ако файла е използван.  Така че ще ти е проверка, без
awk/grep/perl/cut/т.н. междинни процеси.  Ще е по-бавно да го зареждаш
всеки път ако имаш хиляди файлове, иначе е много по-точен метод (особено
ако файла има : в името).

perl -MFile::Find -e'open T, ">/tmp/files.txt"; find(sub { system(fuser => $_) 
|| print T "$File::Find::name\n" }, @ARGV);' /usr/lib

Това ще прати имената на използваните файлове в /tmp/files.txt.  Дай му
каквато директория искаш като параметър.  Не ми се занимаваше да
филтрирам fuser, което маже STDOUT и STDERR, в perl или awk или find, но
може да се направи ако те дразни.

Тео
_______________________________________________
Lug-bg mailing list
Lug-bg@linux-bulgaria.org
http://linux-bulgaria.org/mailman/listinfo/lug-bg

Reply via email to