nali IP1 IP2 IP3 | tr ' ' '\n' | sed -r 's/(.*)[(.*)]/\1\t\2/'或者:
nali IP1 IP2 IP3 | tr ' ' '\n' | awk -F"[][]" '{print $1"\t"$2}'
先用tr将空格替换为回车,然后通过sed或awk将
"IP[地区]"
格式处理为
"IP
地区"
(中间为TAB)
脚本至少有如下错误:
{j}改为${j}或$j,是要取值的啊
expr语句外面是反引号(键盘上ESC下面那个键)而不是单引号,表示执行命令而不是单纯一个字符串,expr后面的运算符左右两侧要有空格。
if跟[之间是要有空格的,if判断表达式比较符两侧也要有空格,数字跟 [ ]之间要有空格。
我修正了,自己运行成功生成你要的数列了。你自己对比下吧:
#!/bin/bash#script name prg8.sh
clear
i=1
for ((j=1j<=98j++))
do
echo -n "$j,`expr $j + 2`,"
if [ $i -eq 10 ]
then
echo ""
i=1
else
i=$((i+1))
fi
done
echo ""
注释里已经说了,script name prg8.sh,脚本名叫prg8.sh,当然,叫什么名字是你的自由。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)