请教:脚本中使用awk的变量问题
时间:2011-06-04
来源:互联网
在脚本中调用awk或grep发现不能使用变量,请高手指教
#! /bin/bash
LATEST_FILE="4.test"
FILELIST_LOG=tmp.list
awk '{ while ( getline >0 ) { if ( $1 ~ /$LATEST_FILE/) { exit } else { print $1 }} }' $FILELIST_LOG
原本希望显示4.test前的字符串后退出,执行后不能匹配到4.test
[test@WebServer eriback]$ more tmp.list
(218.200.221.33:test)
bytes)
1.test
2.test
3.test
4.test
[test@WebServer eriback]$ ./testawk
bytes)
1.test
2.test
3.test
4.test
把脚本改成
#! /bin/bash
LATEST_FILE="4.test"
FILELIST_LOG=tmp.list
awk '{ while ( getline >0 ) { if ( $1 ~ /4.test/) { exit } else { print $1 }} }' $FILELIST_LOG
就没有问题
[test@WebServer eriback]$ ./testawk
bytes)
1.test
2.test
3.test
#! /bin/bash
LATEST_FILE="4.test"
FILELIST_LOG=tmp.list
awk '{ while ( getline >0 ) { if ( $1 ~ /$LATEST_FILE/) { exit } else { print $1 }} }' $FILELIST_LOG
原本希望显示4.test前的字符串后退出,执行后不能匹配到4.test
[test@WebServer eriback]$ more tmp.list
(218.200.221.33:test)
bytes)
1.test
2.test
3.test
4.test
[test@WebServer eriback]$ ./testawk
bytes)
1.test
2.test
3.test
4.test
把脚本改成
#! /bin/bash
LATEST_FILE="4.test"
FILELIST_LOG=tmp.list
awk '{ while ( getline >0 ) { if ( $1 ~ /4.test/) { exit } else { print $1 }} }' $FILELIST_LOG
就没有问题
[test@WebServer eriback]$ ./testawk
bytes)
1.test
2.test
3.test
作者: dracula2011 发布时间: 2011-06-04
把awk中的shell变量这样'$LATEST_FILE'或'"$LATEST_FILE"'引起来
作者: shplpy 发布时间: 2011-06-04
感谢楼上,再请教一下ls带变量呢
[test@WebServer ftptestloc]$ more testinteg
#! /bin/bash
for file in `cat /home/test/ftptestloc/tmp.list`
do
echo $file
ls '$file'
done
[test@WebServer ftptestloc]$ ./testinteg
1.test
ls: $file: No such file or directory
2.test
ls: $file: No such file or directory
3.test
ls: $file: No such file or directory
4.test
ls: $file: No such file or directory
试了用‘’ 或“”或不带都是这样
[test@WebServer ftptestloc]$ more testinteg
#! /bin/bash
for file in `cat /home/test/ftptestloc/tmp.list`
do
echo $file
ls '$file'
done
[test@WebServer ftptestloc]$ ./testinteg
1.test
ls: $file: No such file or directory
2.test
ls: $file: No such file or directory
3.test
ls: $file: No such file or directory
4.test
ls: $file: No such file or directory
试了用‘’ 或“”或不带都是这样
作者: dracula2011 发布时间: 2011-06-04
回复 dracula2011
双引号
双引号
作者: yinyuemi 发布时间: 2011-06-04
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28