关于bash:创建一个以.txt文件命名的文件夹堆栈

Create a stack of folders named from a .txt file

本问题已经有最佳答案,请猛点这里访问。

我有一个单列文本文件(dates.txt,我想创建一个以日期元素命名的目录堆栈。

我怎样才能用bash来解释它?


1
xargs mkdir < dates.txt

xargs将读取其stdin的行,并将这些行附加到给定的命令中。这将最小化调用mkdir的次数。


读取文件的内容,并为数据文件中的每个条目创建目录,如下所示:

1
2
3
4
while IFS= read -r dat;
do
   mkdir"$dat"
done < dates.txt


使用mapfile(bash 4.0或更新版本):

1
mapfile -t names < dates.txt && mkdir"${names[@]}"

这会将行读入数组names,然后使用扩展的、正确引用的数组元素作为参数调用mkdir

需要-t从每个元素的末尾删除换行符。