3-й уровень с пространством XKB

while read firstcol secondcolandtherest ;
do
    something
done < the_file

т.е.: при помещении нескольких аргументов в "чтение" это помещает первый в первый аргумент, 2-й в 2-м аргументе, и т.д. В последнем аргументе это поместило "отдых строки".

некоторые примеры:

#if you want to read line by line: only 1 arg (therefore, it puts everyuthing in it, as the only arg is the last arg)
while read whole_line ; 
do
     something with "$whole_line"
done

#if you only want only column 1 in $first, and everything else in $second_and_rest_of_line:
while read  first second_and_rest_of_line
 do
     something with "$first" and "$second_and_rest_of_line"
done

#if you only want col 1 and 2, and don't care about any extra cols:
while read  first  second  nonimportant
do
     something with $first and "$second" #and we don't care about $nonimportant's content
done

Обратите внимание на то, что: необходимо действительно добавить "-r" (для получения необработанного входа) опция считать, и изменить IFS согласно тому, в чем Вы нуждаетесь... Но вышеупомянутые примеры для обсуждения "аргументов", не надлежащего вызова чтения. См. http://mywiki.wooledge.org/BashPitfalls для получения информации об этом и многой другой тонкости

3
22.09.2015, 00:01
0 ответов

Теги

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