将文件名从 list.txt 逐个发送到另一个文件

将文件名从 list.txt 逐个发送到另一个文件

我想从列表中下载文件。例如list.txt是列表文件。它包含文件名列表:

pic_01.jpg
pic_02.jpg
pic_xxx.jpg

我需要一个循环,逐个取出文件名并将其写入另一个文件(只有一个名称)。下载脚本将使用这个单个文件名。

总结一下:将列表中的文件名发送到另一个文件,该文件只包含一个文件名(可能带有循环)。

答案1

您可以使用循环逐行读取文件,while并将echo每一行读取到一个新文件中:

#!/bin/bash
while IFS='' read -r l || [[ -n "$l" ]]; do
    echo $l >$(mktemp -p.)
done <list.txt

这将循环遍历每一行list.txt并将整行打印到当前目录中创建的临时文件中。默认情况下mktemp使用模板tmp.XXXXXXXXXX创建文件 - Xs 将被随机字符替换 - 您可以通过指定不同的模板来适应您的需要,例如使其成为mktemp -p. file.XXXXX

进一步阅读:

相关内容