我有一个包含命令行的文件,其中一些带有斜杠。我需要在大多数字段中使用斜杠来使命令起作用,但不需要在其中使用斜杠,尤其是在我输出到文件的最后一列中不需要斜杠。我想用连字符替换最后一栏中的斜杠。
我尝试过查找带有反向引用的awk和sed建议,但没有遇到任何可行的方法。
我有一个带有以下内容的文件:
foo find "https://localhost" "/website/foo" "this/that/the/other" "yes/no/maybe" -u admin -p admin > yes/no/maybe.txt
我想用连字符替换最后一栏中的斜杠,如下所示:
foo find "https://localhost" "/website/foo" "this/that/the/other" "yes/no/maybe" -u admin -p admin > yes-no-maybe.txt
不会影响我有斜线的其他列。
答案 0 :(得分:0)
内置的NF
变量包含当前记录中的字段数,使您可以在最后一个字段上进行操作而不必知道有多少个字段。如此简单:
$ awk '{gsub("/","-",$NF)}1' file
foo find "https://localhost" "/website/foo" "this/that/the/other" "yes/no/maybe" -u admin -p admin > yes-no-maybe.txt