我使用kdialog的文件选择对话框来帮助我选择多个文件,并将这些文件的位置存储到一个数组中。不幸的是,kdialog捕获的字符串有一个空格作为分隔符。所以kdialog本质上检索一个字符串,看起来像这样:
/home/file 1.jpg /home/file 2.jpg /home/file 3.jpg
字符串
我实际上是在尝试拆分这个字符串,所以它看起来像这样:
/home/file 1.jpg
/home/file 2.jpg
/home/file 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不能,这就是为什么我尝试使用kdialog。
2条答案
按热度按时间wqlqzqxt1#
字符串
更可取。
它不仅是一个“本机”功能,而且,虽然通过使用sed编辑输出文本将文件分隔成行也可以工作,但明显的缺点是它仅限于没有空格的文件名。包含空格的文件名将被拆分。
$PWD通常比“.”更可取,虽然kdialog本身可以正确地替换它,但有时您可能最终会得到文字相对值“.”,而不是更可能需要的完整路径。
zazmityj2#
字符串