我希望有一个shell脚本来执行查找和替换,而不使用正则表达式(正则表达式),其中包括所有特殊字符,如!@#$%¨&*()?^〜]} [{' `> <","
因此,例如,函数将能够接收两个参数,其中第一个将是我想要找到的,第二个参数将被替换为.
例1:
File1:
BETWEEN TO_DATE('&1','YYYY-MM-DD') +1 and TO_DATE('&2','YYYY-MM-DD') +15
First parameter: TO_DATE('&1','YYYY-MM-DD')
Second parameter: TO_DATE('&1 23:59:59','YYYY-MM-DD HH@$:MI:SS')
File1 after calling the function to replace:
BETWEEN TO_DATE('&1 23:59:59','YYYY-MM-DD HH@$:MI:SS') +1 and TO_DATE('&2','YYYY-MM-DD') +15
Run Code Online (Sandbox Code Playgroud)
例2:
File2:
This is just a test/2^
Paramter1: test/2^
Paramter1: testing\$2^]'
File2 after calling the function to replace:
This is just a test/2^
Run Code Online (Sandbox Code Playgroud)
param1和param2可以是任何东西.
我需要使用UNIX OS AIX,它可以是使用sed或awk的KornShell(ksh).我不能使用perl或Java.我也无法在这台服务器上安装任何东西.
我正在尝试在其他 awk 文件中重用名为 util.awk 的文件
我想做以下事情:
工具.awk
function ltrim(s) { sub(/^[ \t]+/, "", s); return s }
function rtrim(s) { sub(/[ \t]+$/, "", s); return s }
function trim(s) { return rtrim(ltrim(s)); }
Run Code Online (Sandbox Code Playgroud)
printTrim.awk
@include "util.awk"
BEGIN {
printf("%s",trim(" test "))
}
Run Code Online (Sandbox Code Playgroud)
我想以优雅的方式将脚本 util.awk 包含在 printTrim.awk 中。
我没有 gawk,安装它不是一个选项。我听说有一种方法可以做到这一点,但我无法做到。
欣赏