欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用shell按行读取文件

程序员文章站 2022-05-19 18:22:34
...

在shell里面,按行读取文件得注意设置环境变量IFS,否则无法正确读入。

具体例子如下

 

OLDIFS=$IFS
IFS=$'\n'

xxx_file=/home/xx/xxx.txt
in_file=/home/xxx/xxx.in

for pattern in $(cat ${xxx_file})
do
  grep -v -e $pattern  ${in_file}
done

IFS=$OLDIFS

 

要按行读取csv文件时候,代码如下

IFS=","

sed "1,3d" ${input_file_1} | while read col1, col2, col3, col4
do
   echo "$col1, $col2, $col3"
done

IFS=$OLDIFS

 

其中 sed "1,3d" 是删除头三行的意思, 和本文无直接关系。

相关标签: shell linux