📌  相关文章
📜  如何对 bash 中的每一行执行一个操作 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:24:42.638000             🧑  作者: Mango

如何对 bash 中的每一行执行一个操作 - Shell-Bash

当我们需要在 bash 中对每一行执行相同的操作时,我们可以借助循环结构和管道符号实现,下面是一些实例:

使用 for 循环

使用 for 循环遍历所有行:

#!/bin/bash

text="Hello\nWorld\n"
echo -e $text | while read line; do
    echo "Processing line: $line"
done

使用 for 循环遍历文件中的所有行:

#!/bin/bash

FILE=/path/to/file
for line in $(cat $FILE); do
    echo "Processing line: $line"
done
使用 while 循环

使用 while 循环连续读取每一行:

#!/bin/bash

text="Hello\nWorld\n"
while read line; do
    echo "Processing line: $line"
done <<<"$text"

使用 while 循环从文件中连续读取每一行:

#!/bin/bash

FILE=/path/to/file
while read line; do
    echo "Processing line: $line"
done < $FILE
使用管道符号

将命令的输出通过管道符号传递给 while 循环:

#!/bin/bash

echo -e "Hello\nWorld" | while read line; do
    echo "Processing line: $line"
done

将文件的内容通过管道符号传递给 while 循环:

#!/bin/bash

cat /path/to/file | while read line; do
    echo "Processing line: $line"
done

使用 awk 命令对每一行执行某个操作:

#!/bin/bash

echo -e "Hello\nWorld" | awk '{print "Processing line:", $0}'

使用 sed 命令对每一行执行某个操作:

#!/bin/bash

echo -e "Hello\nWorld" | sed -e 's/^/Processing line: /'

以上就是一些常见的对 bash 中每一行执行操作的方法,你可以根据自己的实际情况选择合适的方法。如果你还有其他的方法,欢迎在评论中分享。