小编meA*_*low的帖子

bash sed在while循环中失败

#!/bin/bash
fname=$2
rname=$1
echo "$(<$fname)" | while read line ; do
    result=`echo "$(<$rname)" | grep "$line"; echo $?`
    if [ $result != 0 ]
    then
        sed  '/$line/d' $fname > newkas
    fi 2> /dev/null
done
Run Code Online (Sandbox Code Playgroud)

大家好,我是bash的新手.

我有两个比另一个更旧的列表.我希望将'fname'上的名字与'rname'进行比较.'结果'是标准输出,如果名称仍然在'rname'中可用,我将获得.如果不是那么我将获得非零输出.使用sed删除该行并将其重新路由到新文件.

我已经尝试了部分代码,直到我添加了while循环函数.sed似乎不起作用,因为'newkas'的最终输出与初始输入'fname'相同.我的方法错了还是错过了任何部分?

bash sed

0
推荐指数
1
解决办法
6379
查看次数

标签 统计

bash ×1

sed ×1