围绕文件中的每一行包装if语句

Mar*_*tra 1 bash awk sed

我有一个包含下一行的文件:

copy THIS:0022 to UNB:0022;
copy THIS:0023 to UNB:0023;
copy THIS:0024 to UNB:0024;
Run Code Online (Sandbox Code Playgroud)

我想处理每一行并在其周围创建一个if语句,如:

if THIS:0022 != ""
    copy THIS:0022 to UNB:0022;
endif
if THIS:0023 != ""
    copy THIS:0023 to UNB:0023;
endif
if THIS:0024 != ""
    copy THIS:0024 to UNB:0024;
endif
Run Code Online (Sandbox Code Playgroud)

如何使用bash和awk(和/或sed)来完成?

Joh*_*nck 5

#!/bin/bash

while read a b c d; do
    echo "if $b != \"\""
    echo "    $a $b $c $d"
    echo "endif"
done
Run Code Online (Sandbox Code Playgroud)

把它放进去foo.sh./foo.sh < infile.