Linux Shell awk中怎么调用数组和for循环 ?

Linux Shell awk中怎么调用数组和for循环 ?,第1张

echo | awk '

{

    array[1] = 1

    array[2] = 2    

    array[3] = 3

    array[4] = 4

    array[5] = 5

    

    for (i = 1 i <= 5 ++i) {

        print array[i]

    }

}'

split(s,a,fs) 以fs为指定分隔符将字符串s分割成一个数组a awk 'BEGIN{print split("aswd|sawa|eee",Ti,"|"),Ti[1]}'

shell没有数组,不过下面的实施方式,不知道对你有帮组不?

#!/bin/sh

i=0

for filename in `ls`

do

echo "myfile$i=$filename" >>./mydata

i=`expr $i + 1`

done

eval `cat ./mydata`

#以下演示

b=0

cat ./mydata | while read line

do

myarray="myfile$b"

eval echo "cp \$$myarray to some dir"

b=`expr $b + 1`

done

rm -f ./mydata

另外要判断是否执行成功,可调用$?,然后判断执行就行。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7246379.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-03
下一篇2023-04-03

发表评论

登录后才能评论

评论列表(0条)

    保存