awk用分隔符连接n个字段

pis*_*hio 3 awk

我怎么能用awk加入各个领域,因为我不知道他们有多少?例如,给定输入字符串

aaa/bbb/ccc/ddd/eee
Run Code Online (Sandbox Code Playgroud)

我使用-F'/'的分隔符,做一些操作上aaa,bbb,ccc,ddd,eee(改变,删除......),我想加入回打印东西线

AAA/bbb/ddd/e
Run Code Online (Sandbox Code Playgroud)

谢谢

pax*_*blo 9

......鉴于我不知道我有多少人?

啊,但是你知道你有多少(一).NF是包含当前记录中字段数的变量,您可以使用for循环来处理它们:

$ echo pax/is/a/love/god | awk -F/ '{
    gsub (/god/,"dog",$5);
    $4 = "";
    $6 = $5;
    $5 = "rabid";
    printf $1;
    for (i = 2; i <= NF; i++) {
        if ($i != "") {
            printf "."$i };
        }
    }
    printf "\n";
}'
pax.is.a.rabid.dog
Run Code Online (Sandbox Code Playgroud)

这显示了对值的操纵,以及插入和删除.


(a)嗯,你很快就会继续阅读.