小编Glu*_*ate的帖子

使用 pdftk 等工具重新排列 PDF 文件的页面时如何保留书签?

我在用 pdftk书签/大纲重新排列 pdf 文件的页面,但在那之后,输出文件丢失了原始文件的书签。

我的命令是pdftk in.pdf cat 1-22 43 23-42 44-end output out.pdf

我想知道如何在重新排列页面时保留书签?

pdf pdftk

17
推荐指数
3
解决办法
6386
查看次数

使用进程替换时如何正确捕获退出代码/处理错误?

我有一个脚本,使用从SO 上的问答中获取的以下方法将文件名解析为数组:

unset ARGS
ARGID="1"
while IFS= read -r -d $'\0' FILE; do
    ARGS[ARGID++]="$FILE"
done < <(find "$@" -type f -name '*.txt' -print0)
Run Code Online (Sandbox Code Playgroud)

这很好用,可以完美地处理所有类型的文件名变化。但是,有时我会将一个不存在的文件传递给脚本,例如:

$ findscript.sh existingfolder nonexistingfolder
find: `nonexistingfile': No such file or directory
...
Run Code Online (Sandbox Code Playgroud)

在正常情况下,我会让脚本用类似的东西捕获退出代码,RET=$?并用它来决定如何继续。这似乎不适用于上面的过程替换。

在这种情况下,正确的程序是什么?如何捕获返回码?是否有其他更合适的方法来确定替换过程中是否出现问题?

bash exit error-handling process-substitution

17
推荐指数
3
解决办法
3970
查看次数

如何禁用特定事件的 UFW 日志记录?

我的路由器定期发送多播数据包,这些数据包被 UFW 的标准策略阻止。这些事件是无害的,但垃圾邮件我syslogsufwlogs。我无法更改路由器的行为,因为这需要安装修改后的固件,从而使保修失效。

所以我的问题是:有什么方法可以阻止 UFW 在不更改阻止策略的情况下记录此特定事件?而且,作为可能的后续行动:如果我无法定义自定义日志记录策略,那么允许此传入流量会带来安全风险吗?

logs firewall syslog router ufw

16
推荐指数
1
解决办法
5216
查看次数

在bash中将文件路径转换为URI

如何在命令行中将文件路径转换为 ​​URI?

示例

/home/MHC/directory with spaces and ümläuts
Run Code Online (Sandbox Code Playgroud)

file:///home/MHC/directory%20with%20spaces%20and%20%C3%BCml%C3%A4uts
Run Code Online (Sandbox Code Playgroud)

bash filenames

13
推荐指数
3
解决办法
9871
查看次数

为什么移除设备时不触发此 udev 规则?

我有两只鼠标,其中一只存在鼠标中键和 button6 同时触发的问题。所以我配置~/.Xmodmap了禁用这个按钮。然而,与此同时,我希望我的另一只鼠标仍然可以使用此按钮。所以我写了一个udev规则,xmodmap根据连接的鼠标来改变按钮布局。


设置

这是我目前的设置:

/etc/udev/rules.d/logitech-g7.rules

# deactivate MB 6 when mouse 1 is connected
ACTION=="add", ENV{DEVTYPE}=="usb_device", ENV{ID_VENDOR_ID}=="046d", ENV{ID_MODEL_ID}=="c51a", RUN+="/home/user/.scripts/Troubleshooting/Bugfixes/mouseswitcher_wrapper 1", OWNER="user"
# restore defaults when mouse 1 is disconnected
ACTION=="remove", ENV{DEVTYPE}=="usb_device", ENV{ID_VENDOR_ID}=="046d", ENV{ID_MODEL_ID}=="c51a", RUN+="/home/user/.scripts/Troubleshooting/Bugfixes/mouseswitcher_wrapper 0", OWNER="user"
Run Code Online (Sandbox Code Playgroud)

/home/user/.scripts/Troubleshooting/Bugfixes/mouseswitcher_wrapper

#!/bin/bash
/home/user/.scripts/Troubleshooting/Bugfixes/mouseswitcher "$1"&
Run Code Online (Sandbox Code Playgroud)

/home/user/.scripts/Troubleshooting/Bugfixes/mouseswitcher

#!/bin/bash
sleep 1
DISPLAY=":0.0"
HOME=/home/user/
XAUTHORITY=$HOME/.Xauthority
export DISPLAY XAUTHORITY HOME

if [[ "$1" == 1 ]] #differentiate between ADD (1) event and REMOVE (0) event
  then
      /usr/bin/xmodmap /home/user/.XmodmapG7 > /dev/null …
Run Code Online (Sandbox Code Playgroud)

usb udev mouse xmodmap

13
推荐指数
1
解决办法
2万
查看次数

如何打印字符串中最长的数字?

我正在寻找一种方法来打印字符串中最长的数字。

例如:如果我有字符串

212334123434test233
Run Code Online (Sandbox Code Playgroud)

我怎样才能打印

212334123434
Run Code Online (Sandbox Code Playgroud)

?

注意:我正在寻找最长的连续数字序列,而不是数字更高的值。


编辑:谢谢大家的回答。对这个问题的回答是相当压倒性的。我将@HaukeLaging 的帖子标记为已接受的答案,因为它非常适合我的具体情况,但我想指出所有答案都同样有效。有几种不同的选择来解决问题总是很好。

sed awk text-processing

11
推荐指数
6
解决办法
2073
查看次数

我可以从 Clonezilla 磁盘映像还原单个分区吗?

我正在考虑执行 Clonezilla 备份并想知道选择哪种备份模式。一般来说,Clonezilla 提供以下备份选项:

  • savedisk:保存完整的磁盘映像
  • saveparts:保存特定分区的图像

对应的还原方式有两种:

  • restoredisk:恢复完整的磁盘映像
  • restoreparts:恢复分区映像

我正在寻找的是这两种选择的混合体。我希望能够在完全失败的情况下恢复特定分区和恢复我的完整硬盘驱动器。Clonezilla 是否支持这种开箱即用的恢复途径?

到目前为止,我还没有找到任何关于此的官方文档。我找到的唯一参考是2010年的邮件列表讨论,它指向imgconvert,这是一个自定义脚本,可以将磁盘映像转换为分区映像。不幸的是,我不知道这个脚本是否仍然有效。毕竟已经5岁了。

这就是为什么我想在这里询问是否有人对 Clonezilla 的这个用例有任何经验,并且可以担保这个解决方案(或不同的解决方案,就此而言)。

backup cloning restore clonezilla

9
推荐指数
1
解决办法
1万
查看次数

如何自动终止 CPU 负载最高的进程?

有时程序会在后台锁定并导致 CPU 使用率过高。有什么方法可以以编程方式确定当前哪个进程导致最高 CPU 负载并杀死它?

process kill top

6
推荐指数
1
解决办法
3万
查看次数

如何从文本文件中删除所有无序行?

概述

考虑一个散布着无序元素的有序列表,例如:

Alligator
Ant
Falcon <--
Baboon
Badger    
Armadillo <--
Caiman
Cat
Run Code Online (Sandbox Code Playgroud)

如何处理此列表以删除所有无序元素?例如:

Alligator
Ant
Baboon
Badger    
Caiman
Cat
Run Code Online (Sandbox Code Playgroud)

更多信息

无序元素总是单数,有序元素以至少 2 行为一组出现。一般模式是:

ordered
ordered
ordered
unordered <--
ordered
ordered
unordered <--
ordered
ordered
Run Code Online (Sandbox Code Playgroud)

无序元素可以更低......

A
B
F <---
D
E
Run Code Online (Sandbox Code Playgroud)

...并且高于以下有序元素:

A
C
B <---
D
E
Run Code Online (Sandbox Code Playgroud)

更困难的是:元素可以是大写和小写,并包含变音符号(例如:ä,ö,à)。


有没有办法用bash来完成这个?

bash sed awk text-processing

5
推荐指数
1
解决办法
218
查看次数