我使用kdialog的文件选择对话框来帮助我选择多个文件并将这些文件的位置存储到一个数组中。不幸的是,kdialog捕获的字符串有一个空格作为分隔符。因此kdialog实际上检索的字符串如下所示:
/home/file 1.jpg/home/file 2.jpg/home/file 3.jpg
我基本上是想把这根线分开,这样看起来会像这样;
/主页/文件1.jpg
/主页/文件2.jpg
/主页/文件3.jpg
(两行之间没有换行符。我不得不把这些新行加进去,因为我想把它们都放在一行中)。我试着用这个代码来分割它
IFS=' /' read -r -a array <<< "$variable"
但没用。在使用kdialog之前,我使用的是zenity的文件选择对话框,其输出如下:
/home/file 1.jpg |/home/file 2.jpg |/home/file 3.jpg
该输出更容易与此代码分离;
IFS='|' read -r -a array <<< "$variable"
但是kdialog的缩略图可以调整大小,而zenity不能,hency为什么我要尝试使用kdialog。
任何帮助都将不胜感激。谢谢。
最佳答案
variable=$(kdialog --getopenfilename --multiple .);
variable=$(echo $variable | sed 's/\ \//\\n\//g')
kdialog --msgbox "$variable";
我连这个问题都问不出来。
关于regex - BASH KDialog多文件输入-在特定空间分割字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46922491/