linux shell 如何把txt文本中每一行提取出来赋值给一变量,再输出这一变量

linux shell 如何把txt文本中每一行提取出来赋值给一变量,再输出这一变量,第1张

: No such file or directorybash

你的shell脚本有可能是在windows下编写的,然后在转移到linux执行的。

#vi filename

然后用命令

:set ff ---------查看时dos还是unix

若是dos字样, 那么你可以用set ff=unix把它强制为unix格式的, 然后存盘退出 再运行一遍看。

建立脚本最好在linux下,使用touch filenamesh来创建,再用vi filenamesh来编写脚本命令。

例如:

#touch ddsh

#vi ddsh

然后输入下面的内容。

#!bin/bash

#文本txt每一行复制并输出----注释

cat 123txt|while read var;do

echo $var

done

exit 0

保存后,使用

#bash ddsh

或者

#chmod 777 sssh

#/ddsh

就可以运行啦。

话说我在redhat下执行未报错,结果如下:

[root@HZHG-STD-WEB-P3 ~]# sh test

Mon Nov 25 08:38:51 CST 2013

a:

1

1

2

1

3

1

4

1

Mon Nov 25 08:38:51 CST 2013

不过我把开头释义代码修改成 #!/bin/bash了,你那个开头释义我从没用过:

#!/bin/bash

date

awk -F"|" 'BEGIN{

a="aunl"

print "a:"

   while(getline < a)

    {

       print $line  ###########

       a_hash[$line]=1

       print a_hash[$line]

    }

    close(a)}'

date

1、在shell中对一个变量取绝对值,可以通过函数来实现,如果是大于等于0的数返回其本身,如果是小于0的数,则取其相反数。

2、具体可以参考如下示例代码,编写了一个名为abs的脚本函数,然后循环读取数据,用户可以循环测试,按q键退出脚本。

function abs()

{

    if (($1>=0));then

        return $1

    else

        return $((-$1));

    fi

}

while ((1));do

    read -p "input int value to get abs value:" i;

    if (($i=='q'));then 

        break;

    fi

    abs $i

    echo "input value:$i,abs alue:$"

done

3、执行效果如下图所示:

以上就是关于linux shell 如何把txt文本中每一行提取出来赋值给一变量,再输出这一变量全部的内容,包括:linux shell 如何把txt文本中每一行提取出来赋值给一变量,再输出这一变量、shell脚本AWK命令中变量$line的用法、在Shell中怎样对一个变量取绝对值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/web/9646095.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存