相关疑难解决方法(0)

将多个PDF文件合并/转换为一个PDF

如何将多个PDF文件合并/转换为一个大型PDF文件?

我尝试了以下内容,但目标文件的内容不符合预期:

convert file1.pdf file2.pdf merged.pdf
Run Code Online (Sandbox Code Playgroud)

我需要一个非常简单/基本的命令行(CLI)解决方案.如果我可以将合并/转换的输出直接输入pdf2ps(最初尝试在我之前提出的问题:Linux管道(转换 - > pdf2ps - > lp)),那将是最好的.

linux pdf merge command-line-interface

986
推荐指数
16
解决办法
66万
查看次数

如何在单引号字符串中转义单引号?

比方说,你有一个alias像bash 一样:

alias rxvt='urxvt'
Run Code Online (Sandbox Code Playgroud)

哪个工作正常.

然而:

alias rxvt='urxvt -fg '#111111' -bg '#111111''
Run Code Online (Sandbox Code Playgroud)

不会起作用,也不会:

alias rxvt='urxvt -fg \'#111111\' -bg \'#111111\''
Run Code Online (Sandbox Code Playgroud)

那么,一旦转义了引号,你最终如何在字符串中匹配开头和结尾的引号?

alias rxvt='urxvt -fg'\''#111111'\'' -bg '\''#111111'\''
Run Code Online (Sandbox Code Playgroud)

看起来很笨拙虽然如果你允许这样连接它们就会代表相同的字符串.

syntax bash quoting

936
推荐指数
15
解决办法
40万
查看次数

将制表符分隔的文件行读入数组

我想逐行将文件读入脚本.文件中的每一行都是由制表符分隔的多个值,我想将每一行读入一个数组.

典型的bash"逐行读取"示例;

while read line
do
echo $line;
done < "myfile"
Run Code Online (Sandbox Code Playgroud)

对我来说,myfile看起来像这样(制表符分隔值);

value1 value2 value3
value4 value5 value6
Run Code Online (Sandbox Code Playgroud)

在循环的每次迭代中,我希望每一行都进入一个数组,所以我可以

while read line into myArray
do
 echo myArray[0]
 echo myArray[1]
 echo myArray[2]
done < "myfile"
Run Code Online (Sandbox Code Playgroud)

这将在第一次循环迭代中打印以下内容;

value1
value2
value3
Run Code Online (Sandbox Code Playgroud)

然后在第二次迭代它将打印

value4
value5
value6
Run Code Online (Sandbox Code Playgroud)

这可能吗?我能看到的唯一方法是编写一个小函数来手动打破这些值,是否内置了对bash的支持?

arrays bash

59
推荐指数
2
解决办法
10万
查看次数

构建包含空格的参数列表

在bash中,可以转义包含空格的参数.

foo "a string"
Run Code Online (Sandbox Code Playgroud)

这也适用于命令或函数的参数:

bar() {
    foo "$@"
}

bar "a string"
Run Code Online (Sandbox Code Playgroud)

到目前为止一切都很好,但是如果我想在调用之前操纵参数foo呢?

这不起作用:

bar() {
    for arg in "$@"
    do
        args="$args \"prefix $arg\""
    done

    # Everything looks good ...
    echo $args

    # ... but it isn't.
    foo $args

    # foo "$args" would just be silly
}

bar a b c
Run Code Online (Sandbox Code Playgroud)

那么当参数包含空格时,如何构建参数列表?

bash whitespace arguments

9
推荐指数
2
解决办法
6142
查看次数