问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

shell 脚本 while read a b c d ;do done语句中 a b 的值于最外层不一致

发布网友 发布时间:2022-04-22 19:09

我来回答

1个回答

热心网友 时间:2023-11-16 09:03

while循环一次只读一行,直至读到文件末尾。你试试下面这个:
while read line
do
echo "$line"
done <./data/1/statusl.txt

就会打印:
335
1
2
00

你要把每行取出来分别赋给一个变量的话,用sed 或 head 即可。
a=`sed -n '1p' ./data/1/statusl.txt`
b=`sed -n '2p' ./data/1/statusl.txt`
或者
a=`head -n 1 ./data/1/statusl.txt`
b=`head -n 2 ./data/1/statusl.txt`

而且上面的awk语句也有错误,把$a,$b放在单引号里面会被认为是awk的变量,不会被shell解析并替换成对应的值的。需要拿到单引号外面来(在$a前关闭单引号,$a之后再打开;$b同样处理)。并且,awk默认的字段分隔符就是空格,所以没必要再用 -F 指定。
修改如下:
awk '{if($1==‘$a’ && $2==‘$b’){print $1;}print ‘$a’,22}' ./data/1/statusl.txt

最后,实在不知道你要干什么。因为awk本身就会读文件,而且也是一行一行地读。
statusl.txt 只有1列,以空格作为分隔符,只能得到一个字段($1),$2不存在。 所以,上面我改的那句其实也是不对的。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
海尔bcd-539wh压缩机是什么型号的?这款冰箱好不好? ...潜力对吗?那么一个人的潜力最多能发挥多少?用什么方式可以激发个人潜 ... 安东尼罗宾 是谁 ? 卡萨帝发展大事记 ...我上高中 并且很想学情非得已 问下大概多长时间能学会这首曲子... 为什么excel下拉的数字不递增啊? ...也几乎没有音乐基础的人来说,学会吉他(速成)需要多长时间。。_百度... excel下拉数字递增怎么设置 下拉数字递增设置方法 2024年微信朋友圈广告投放推广怎么做(收费标准) 达州微信朋友圈运营 shell while语句 判断文件是否存在 我要让我的脚本等待某一文件夹自动生 shell编程中while ture和while :为什么等同? shell while 循环 shell脚本read命令的用法 linux shell脚本:while循环中调用另一个脚本遇到exit为什么会跳出循环,且继续执行循环后的程序? linux shell脚本while编程的问题 Shell脚本while多条件判断 求救!shell脚本while中赋值无效 shell脚本里 dowhile 和while do的区别 shell while 为何不跳出循环? 简单的shell while循环,朋友们指点下 shell编程中while ture和while :为什么等同? shell的while循环怎么写 shell while循环 shell脚本 while循环 经常吃槟榔对身体有害处么? 常吃槟榔真的会致癌吗? 经常吃槟榔的人,最后怎么样了? 那些经常吃“槟榔”的人,最后都怎么样了? 长期吃槟榔的后果有哪些?怎样才能快速戒掉槟榔? aix k shell脚本while循环调用脚本只执行单次问题 足球比赛中的足什么意思? 足球比赛中使用的足球有什么规格要求?它的重量有被规定过吗? 关于正规足球比赛的比赛用球的问题! 足球的规格是什么? 足球比赛用什么皮球 比赛专用足球 足球正规比赛用球的标准是什么? 麻烦老师解答:正式足球比赛对所用足 奥运会足球比赛比赛用球 足球比赛的足是什么意思 华为nova2 plus怎么设置返回? 求老师解答:正式足球比赛对所用足 足球要用脚的什么部位踢才能飞的又高又弧 足球充气到什么程度为合适? 求足球比赛详细规则。 槟榔上面滴一滴液体是什么 为什么槟榔的外面有白白粉末状的东西? 槟榔上有白点是霉吗 台湾槟榔用的石灰是什么成份