awk命令在shell脚本中执行有什么要求吗?
linux新鸟,不了解shell原理。提取日志的时候发现如下问题:#!/bin/bashgrep$service$log_file|awk-F'\[''{print$5}...
linux新鸟,不了解shell原理。提取日志的时候发现如下问题:
#!/bin/bash
grep $service $log_file | awk -F '\[' '{print $5}'>$time_wast
------运行结果-----
awk: 致命错误: 无法以读模式打开源文件“\[”(没有那个文件或目录)
echo $SHELL
/bin/bash
“grep $service $log_file | awk -F '\[' '{print $5}'>$time_wast”,shell脚本执行失败;在终端可以执行;shell脚本换成grep也可以执行...黑人问号??
---没有财富值了,跪求老鸟指教--- 展开
#!/bin/bash
grep $service $log_file | awk -F '\[' '{print $5}'>$time_wast
------运行结果-----
awk: 致命错误: 无法以读模式打开源文件“\[”(没有那个文件或目录)
echo $SHELL
/bin/bash
“grep $service $log_file | awk -F '\[' '{print $5}'>$time_wast”,shell脚本执行失败;在终端可以执行;shell脚本换成grep也可以执行...黑人问号??
---没有财富值了,跪求老鸟指教--- 展开
展开全部
1、例如命令
echo 192.168.1.1|awk -F. '{print $1}'
echo 192%168%1%1|awk -F\% '{print $1}'
awk 参数-F是指定分割符,然后取第一列,这里用.做分割。
\.是用转义字符,防止特殊字符有特殊含义
2、-F和参数[之间不需要空格
例如
echo 192[168[1[1|awk -F\[ '{print $1}'
或者
echo 192[168[1[1|awk -F"[" '{print $1}'
echo 192.168.1.1|awk -F. '{print $1}'
echo 192%168%1%1|awk -F\% '{print $1}'
awk 参数-F是指定分割符,然后取第一列,这里用.做分割。
\.是用转义字符,防止特殊字符有特殊含义
2、-F和参数[之间不需要空格
例如
echo 192[168[1[1|awk -F\[ '{print $1}'
或者
echo 192[168[1[1|awk -F"[" '{print $1}'
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询