shell 读取文件第几行 第几列的值



1 .  问题:  读取 list文件(内容如下) 中 NO1  和NO2 的值



 platform                      NO1            NO2
 --------------------         -----------    -----------
 AIX_64                              1          20
 NT_X64                             2          21
 LINUX_X64                       3          22
 HPIA_64                           4           23
 SOLARISX64                    5          24
 LINUXPPC64                    6          25
 SOLARIS_64                    7           26



2.  脚本 


cat list| awk 'NR>2' | while read platform  NO1  NO2
do
    echo $NO1"   "$NO2
done





#NR>2  表示从第三行读取

#while read platform  NO1  NO2   这三个参数必须有,

如果只有   while read NO1  NO2 , 那么输出结果 NO1  是 platform的值, NO2  输出的是文件中NO1  和NO2 的值。



3. 输出 结果



                1       20
                2       21
                3       22
                4       23
                5       24
                6       25
                7       26



4.  读取文件的每一行




cat list | while read line
do
     echo ${line}
done



5. 读取文件中某行的列


取list 中AIX_64 对应NO1的值



  newNO=$(grep AIX_64 list|awk '{print $2}')
   echo ${newNO}





你可能感兴趣的:(Linux)