读取文件的每一行,并附带将行存储到bash中另一个文件的条件



我是一个初学者,我想知道是否可以在这方面得到帮助。代码应该从文件中读取一行,显示它,满足条件,然后移到下一行,重复文件中的行数。我已经能够想出一种方法来做到这一点,但如果它是一个循环,那会更好。这就是我目前拥有的

output=$(cat urls.txt | sed -n '1p')
read -p  "Store $output y or n ?" deci 
if [ $deci == "y" ];
then  
sed -n '1p' urls.txt >> saved_domains.txt
fi 
output=$(cat urls.txt | sed -n '2p')
read -p  "Store $output y or n ?" deci
if [ $deci == "y" ];
then  
sed -n '2p' urls.txt >> saved_domains.txt
fi

这是一行一行的

#!/bin/bash
while read output
do
read -p "Store $output y or n ?" deci < /dev/tty
if [[ "$deci" == "y" ]]
then
echo "$output" >> saved_domains.txt
fi
done < url.txt

您可以将url.txt文件读取到";输出";变量,并使用它读取用户的输出,并相应地附加到saved_domains.txt文件中。

需要注意的一件事是<用于用户输入的读取命令末尾的dev/ty。这通常是不需要的,但由于我们已经通过从文件读取标准输入,我们需要特别指定我们正在从终端(/dev/tty(读取

最新更新