Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Awk 使用ksh脚本获取子字符串_Awk_Ksh_Substr - Fatal编程技术网

Awk 使用ksh脚本获取子字符串

Awk 使用ksh脚本获取子字符串,awk,ksh,substr,Awk,Ksh,Substr,我正在使用ksh脚本来确定文件中的分隔符使用的是awk。我知道此分隔符将始终位于第一行的4位置。我遇到的问题是,在特定文件中用作分隔符的字符是*,因此脚本不是在变量中返回*,而是返回一个文件列表。以下是我的文件中的示例文本以及我的脚本: 文件中的文本: XXX*XX* *XX*XXXXXXX....... 以下是我的脚本的样子(我面前没有脚本,但你得到了jist): 提前谢谢你, Anthonyshell正在解释分隔符变量的内容。您需要引用它以避免这种行为: echo "${delim

我正在使用
ksh
脚本来确定文件中的分隔符使用的是
awk
。我知道此分隔符将始终位于第一行的4位置。我遇到的问题是,在特定文件中用作分隔符的字符是
*
,因此脚本不是在变量中返回
*
,而是返回一个文件列表。以下是我的文件中的示例文本以及我的脚本:

文件中的文本:

XXX*XX*     *XX*XXXXXXX.......
以下是我的脚本的样子(我面前没有脚本,但你得到了jist):

提前谢谢你,

Anthony

shell正在解释
分隔符
变量的内容。您需要引用它以避免这种行为:

echo "${delimiter}"

它将打印
*

shell正在解释
分隔符
变量的内容。您需要引用它以避免这种行为:

echo "${delimiter}"

它将打印
*

Birei关于您的问题是正确的。但是您的AWK表达式似乎对第1行不感兴趣。您可以将其替换为:

'NR==1 {print substr($0, 4, 1)}'
然后,您可以执行一个简单的操作:

echo "$delimiter"

关于你的问题,比雷是对的。但是您的AWK表达式似乎对第1行不感兴趣。您可以将其替换为:

'NR==1 {print substr($0, 4, 1)}'
然后,您可以执行一个简单的操作:

echo "$delimiter"

我今天早上才发现这一点,打算编辑我的帖子……谢谢你的回复!我今天早上才发现这一点,打算编辑我的帖子……谢谢你的回复!