使用awk和mkdir创建带有空格的目录



我正在编写一个bash脚本,通过使用awk的输出来创建名称中有空格的文件夹。

getAuthors() {
echo "$1" | awk -F ', |, and |and ' '{ for (i =1; i<=NF; i++) system("mkdir "$i" ") }'
}

这个函数将接收一个字符串,其行为"Sokratis Katsikas and Isaac Agudo(eds.)"。我正在从pdf中获取所有作者,并必须根据我为awk字段分隔符创建的regex对他们进行拆分。然而,当我尝试调用mkdir为每个独立的作者创建文件夹时,它会为每个独立单词创建一个目录。例如,对于我使用的示例字符串,它将从Isaac Agudo(编辑)中分离Sokratis Katsikas,但mkdir将尝试为Sokrati、Katsika、Isaac和Agudo创建单独的文件夹。如何使对mkdir的调用保留空格,而不是尝试为每个单词创建文件夹?

使用带有附加引号的system函数:

system("mkdir "" $i """)
添加一个sed命令,将space更改为\space。

最新更新