小编Geo*_*rge的帖子

替换没有正则表达式的字符串

我希望有一个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.我也无法在这台服务器上安装任何东西.

unix shell scripting awk sed

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

awk - 如何做一个“包含”文件。(类似于gawk中可用的那个)

我正在尝试在其他 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,安装它不是一个选项。我听说有一种方法可以做到这一点,但我无法做到。

欣赏

unix aix awk

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

标签 统计

awk ×2

unix ×2

aix ×1

scripting ×1

sed ×1

shell ×1