находка пропускает результат — как это возможно?

sep_file.ksh

#!/bin/ksh

FILENAME=$1
SEG=$2

SEG_NO=1

while [[ $SEG_NO -le $SEG ]]
do
  awk '{CL=NF/'"$SEG"';CL=(CL==int(CL)?CL:int(CL)+1);LS=(('"$SEG_NO"'-1)*CL)+1;LE=LS+CL-1;if(LE>NF)LE=NF;for(i=LS;i<=LE;i++)printf("%s ",$i);printf("\n")}' $FILENAME > ${FILENAME}_$SEG_NO
  SEG_NO=`echo "$SEG_NO + 1"|bc`
done

Использование: ./sep_file.ksh <file_name_to_read> <no_of_segments>

6
30.04.2013, 01:05
1 ответ

Это произошло бы если /var/lib/tomcat7/conf символьная ссылка на /etc/tomcat7.

По умолчанию, find (coreutils версия так или иначе), не будет следовать за символьными ссылками. Попробуйте -L флаг:

find -L / -name "server.xml" -print 
7
27.01.2020, 20:27
  • 1
    хм..., я получаю бесконечный цикл, когда я работаю с-L. fwiw, если я делаю "ls-l" в / и т.д./, tomcat7, не перечислен как ссылка, но как обычный каталог. или я неправильно понимаю Вас? –  Jonah 29.04.2013, 08:14
  • 2
    Это странно. Что относительно ls -l /var/lib/ и var/lib/tomcat7? А-ч –  Mat 29.04.2013, 08:17
  • 3
    , хорошо, tomcat7 каждый - преступник, корректный? А-ч –  Jonah 29.04.2013, 08:20
  • 4
    ! Я неправильно читал Ваш вопрос - мысль находит, возвратил путь в/var/lib. Да, та символьная ссылка является причиной. Однако, я не вижу оснований для цикла. –  Mat 29.04.2013, 08:24

Теги

Похожие вопросы