使用shell按行读取文件

在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" 是删除头三行的意思, 和本文无直接关系。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值