Unix脚本中的 for
循环可以用于遍历一个由多个文件组成的列表。read
命令用于获取文件的内容,并使用 while read
方式将内容分割到不同的变量中。使用 while
循环可以实现对指定文件的逐行扫描。
下面是一个典型的示例,它将当前目录中的所有 .txt
文件的内容读出,并依次赋值给变量 file_content
:
#!/bin/sh
# 使用 for 循环遍历文件列表
for file in *.txt; do
# 对于每个文件,使用 while 循环读取每一行
while read -r line; do
# 如果当前行的末尾包含指定的行,则执行相应的操作
if [[ $line == *"Your searched line" ]]; then
echo "$line"
exit 0
fi
done <"$file"
done
此脚本用于读取指定文件的第12行、并输出该行:
for file in *.txt; do
while read -r line; do
if [[ $line == *"第12行:" ]]; then
echo "$line"
exit 0
fi
done <"$file"
done
这个脚本用于读取多个文件,并在找到包含指定单词的行时输出行。如果找不到满足条件的行,它将忽略所有的文件。
领取专属 10元无门槛券
手把手带您无忧上云