如何在Linux中使用for循环来输出内容?

在Linux中,for循环是一种常用的控制结构,用于Shell脚本中重复执行一系列命令,以下是一些常见的for循环案例及其输出:

1、遍历文件列表

如何在Linux中使用for循环来输出内容?插图1
(图片来源网络,侵删)

代码

     #!/bin/bash
     for file in /path/to/directory/*
     do
        echo $file
     done

输出:目录/path/to/directory下所有文件的路径。

2、遍历数字列表

代码

     #!/bin/bash
     for i in {1..10}
     do
        echo $i
     done

输出:从1到10的数字,每个数字占一行。

如何在Linux中使用for循环来输出内容?插图3
(图片来源网络,侵删)

3、遍历命令输出

代码

     #!/bin/bash
     for user in $(cat /etc/passwd | awk -F ':' '{print $1}')
     do
        echo $user
     done

输出:系统上所有用户的用户名,每行一个用户名。

4、多重循环

代码

如何在Linux中使用for循环来输出内容?插图5
(图片来源网络,侵删)
     #!/bin/bash
     for i in {1..5}
     do
        for j in {1..3}
        do
            echo "$i,$j"
        done
     done

输出:组合输出1到5和1到3的所有数字对,如“1,1”、“1,2”等。

5、输出1到100之间所有质数的和

代码

     #!/bin/bash
     sum=0
     for i in {2..100}
     do
        is_prime=1
        for ((j=2; j<i; j++))
        do
           if [ $((i % j)) -eq 0 ]
           then
             is_prime=0
             break
           fi
        done
        if [ $is_prime -eq 1 ]
        then
           sum=$((sum + i))
        fi
     done
     echo "The sum of prime numbers from 1 to 100 is: $sum"

输出:1到100之间所有质数的和。

6、打印给定目录下的文件数

代码

     #!/bin/bash
     dir="/path/to/directory"
     count=0
     for file in $dir/*
     do
        if [ -f $file ]
        then
           count=$((count + 1))
        fi
     done
     echo "The number of files in $dir is: $count"

输出:指定目录下的文件数量。

7、批量修改文件名

代码

     #!/bin/bash
     for file in *.txt
     do
        mv "$file" "${file/abc/def}"
     done

输出:将当前目录下所有的.txt文件名中的“abc”替换成“def”。

8、批量复制文件

代码

     #!/bin/bash
     for file in *.txt
     do
        cp "$file" /tmp/
     done

输出:将当前目录下所有的.txt文件复制到/tmp目录下。

9、批量压缩文件

代码

     #!/bin/bash
     for file in *.txt
     do
        tar czf "${file}.tar.gz" "$file"
     done

输出:将当前目录下所有的.txt文件压缩成.tar.gz格式。

10、批量解压文件

代码

      #!/bin/bash
      for file in *.tar.gz
      do
         tar xzf "$file" -C /tmp/
      done

输出:将当前目录下所有的.tar.gz文件解压到/tmp目录下。

11、批量部署应用

代码

      #!/bin/bash
      apps=(app1 app2 app3 app4 app5)
      for app in "${apps[@]}"
      do
          mkdir "/var/www/${app}"
          cp -r "/tmp/${app}"/* "/var/www/${app}/"
      done

输出:将多个应用部署到不同的目录下。

这些示例展示了for循环在Linux Shell脚本中的多种用法,通过灵活运用for循环,可以简化重复任务,提高工作效率。

以上就是关于“linux for循环 输出”的问题,朋友们可以点击主页了解更多内容,希望可以够帮助大家!

本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/77013.html

小末小末
上一篇 2024年10月15日 08:49
下一篇 2024年10月15日 09:00

相关推荐