循环语句之双重循环练习

Posted kiroct

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了循环语句之双重循环练习相关的知识,希望对你有一定的参考价值。

1、for循环语句中的IFS变量如何进行临时更改

#!/bin/bash

IFS_OLD=$IFS
IFS=$\\n
#此处的"\\n是指换行符

for name in $(cat  你要查找的文件目录)
do 
  echo $name
done

IFS=$IFS_OLD

2、通过双重循环来输出直角梯形

#!/bin/bash

#外循环控制行数
for ((a=1; a<=10; a++))
do
  #输出空白的倒三角
  for ((b=10; b>=a; b--))
  do
    echo -n " "
    #不换行输出空格
  done
  #输出矩形
  for ((c=1; c<=a+10; c++))
  do
    echo -n "*"
  done

  echo ""
  #用于每行的换边
done

3、使用while双重循环来制作99乘法表的脚本

#!/bin/bash
a=1
while [ $a -le 9 ]
do
b=1
  while [ $b -le $a ]
       do
         let sum=$a*$b
         echo -n -e "$a*$b=$sum\\t"
         #\\t是输出空位符,-n是不换行,-e是输出
         let b++
       done
     echo ""   
     #此处表示换行输出
    let a++
done

4、通过使用cat 文件名 | while read line 循环来分割文本行数,并把行数转存到其他的文本当中

#!/bin/bash
a=0
num=1
#a是指代该文件一共有多少行,num是指代创建第几个分割文件
cat 文件 | while read line
do
  let a++
  b=$[$a % 50]
  if [$b -eq 0 ]
  #需求是每50行做一次分割,不满50行的按50行计算,所以这边直接除以50。采用的是变量“b”
  then
  echo $line >> 文件名$num
  let num++
  #内容导入新的文件,记得用绝对路径,此外记得num加一
  else
  echo $line >> 文件名$num
  #不满50行的内容导入新的文件,无剩余行数,循环结束
  fi
done

以上是关于循环语句之双重循环练习的主要内容,如果未能解决你的问题,请参考以下文章

Java之循环语句练习1

0125 双重for循环:语法执行思路打印m行n列打印倒三角形正三角九九乘法表

双重for循环练习直角三角形

视频+图文带你快速掌握Java中含continue语句的双重for循环

视频+图文带你快速掌握Java中含break语句的双重for循环

Shell脚本之双重循环(补充)