bash

使用“sed”或“awk”仅在 2 个不同模式匹配后在文件中查找和替换文本
bash

使用“sed”或“awk”仅在 2 个不同模式匹配后在文件中查找和替换文本

这是此处提出和回答的问题的扩展:使用 sed 在文件中查找并替换模式匹配后的第一次出现的文本 问题是:我需要执行查找和替换,但是仅有的在第一次出现 之后,pattern1接着pattern2。这就是pattern3查找和替换必须发生的地方。 使用链接问题中的示例文件的变体: Server 'Test AB' option type 'sa' option port '1234' option timeout '60' Server 'Test AB' option type 'sb' option port '123...

Admin

有些文件的文件名末尾有“?”,我需要找到这样的文件
bash

有些文件的文件名末尾有“?”,我需要找到这样的文件

我不知道这些文件是怎么产生的,但它看起来像这样ls -lh: total 8.1G -rw-r--r-- 1 root root 1.6G Apr 13 2022 test_some_data_S6_R2.fastq.gz? -rw-r--r-- 1 root root 1.5G Apr 13 2022 test_some_data_S6_R1.fastq.gz 当我使用 ls 让文件名自动完成时,它看起来像这样 - ls /path/to/file/test_some_data_S6_R2.fastq.gz^M ^M在 DOS 中应该是载波返回...

Admin

需要在 Linux/Unix 路径中向后迭代
bash

需要在 Linux/Unix 路径中向后迭代

我有一个具有多个路径(文件夹名称)的脚本。 每个文件夹路径都会有一个 Dockerfile,但不确定该文件存在于哪个级别。 假设我的路径是“v1/airflow/1.86/src/代码/” 例如,该文件可以位于“v1/airflow/1.86/src/Dockerfile”或者可以“v1/airflow/1.86/Dockerfile” 所以我想找到一种方法,让我可以退一步,或者光盘 ../ 递归检查文件是否存在,如果不存在则返回一个目录,然后再次查看,如果存在,则停止进一步查看 任何帮助表示感谢 ...

Admin

ffmpeg 自动结束进程并输出错误
bash

ffmpeg 自动结束进程并输出错误

如果在处理过程中出现奇怪的字词导致直播流错误自动停止,如何让ffmpeg停止? 例如,在此过程中我经常会得到这样的输出: Non-Monotonous DTS in 0:1 output stream 它一直在重复。我的流媒体结果从来都不正常。如果错误指示的来源是任何东西,那么我希望 ffmpeg 进程停止。 ...

Admin

为什么 apt 没有将软件添加到 PATH?
bash

为什么 apt 没有将软件添加到 PATH?

我正在比较snap安装apt方法。首先我尝试了snap: sudo apt update- 我不确定使用 snap 时更新和升级 repos 是否有意义,但我还是这么做了 sudo apt upgrade sudo snap find kdenlive- 确保正确捕捉 sudo snap install kdenlive kdenlive- 并启动应用程序 从 GUI 关闭应用程序 sudo snap remove kdenlive sudo apt autoremove- 不确定是否将其与 snap 一起使...

Admin

检查文件夹是否包含带扩展名的文件并将目录写入类别
bash

检查文件夹是否包含带扩展名的文件并将目录写入类别

我有大约 3k + 个文件夹,它们可以包含两种类型的文件,一个 spring 文件和一对 fastq.gz 文件。我想扫描文件夹并了解目录中是否存在两个或其中一个文件扩展名 - 包含一对fastq.gz和spring文件 一个 fastq.gz 文件和 spring 文件 单个 Spring 文件 一对 fastq.gz 文件 单个 fastq.gz 文件 我使用了[ /path/to/dir/*fastq.gz ],但出现了unary operator expected错误,而且使用[[ ]]似乎无法正确测试。 我使用的实际脚本是 - check_di...

Admin

如何从 yt-dlp 中获取文件名并将其用作 ffmpeg 输出文件名?
bash

如何从 yt-dlp 中获取文件名并将其用作 ffmpeg 输出文件名?

我尝试在 ffmpeg 中使用管道命令时使输出名称与输入名称相同。 例子: 该文件名为1-Minute Audio Test for Stereo Speakers & Headphones [2ZrWHtvSog4].m4a。我正在尝试获取输出文件名成为自动地和输入文件名但带有.mp3扩展名。 因此最终的名称应该是1-Minute Audio Test for Stereo Speakers & Headphones [2ZrWHtvSog4].mp3无需手动输入的。 例子: yt-dlp -o - -f 139 --external-do...

Admin

Bash 中的交互式迭代文件夹过滤
bash

Bash 中的交互式迭代文件夹过滤

假设我有一个深层文件夹结构,例如: /home/user1/Pictures/web/flickr/2023/02/02/pic.jpg 显然,每一步都有不同的文件夹。例如,顶部有 /etc /home /usr 还有其他的。然后在 /home 下有如下内容: /home/user1 /home/user2 /home/user3 然后在 /home/user1 下有类似以下内容: /home/user1/Downloads /home/user1/Pictures /home/user1/Videos 等等,您明白了。有没有办法以交互方式过滤文件夹...

Admin

Bash 不断生成子进程,无法停止。发生了什么?
bash

Bash 不断生成子进程,无法停止。发生了什么?

在 Kubuntu 20.04 或 KNOPPIX 9.1 中,在 KDE 中的 Konsole 下的许多窗口以及在每个 bash ver 5.2.15(1)-release (i686-pc-linux-gnu) 中。 这个问题描述的问题我在过去几周经常遇到(但以前从未遇到过)。 它总是由源脚本中的错误命令行或在 shell 提示符后输入的错误命令行引起的。 有时(不是今天)bash 会无休止地分叉新的进程。 今天我可以报告导致错误的命令行——它不是我输入的内容,而是 ps 显示的内容: ps -Flwwc -t pts/14 ps 在“CMD”栏显示:...

Admin

bash help 命令如何生成帮助文本?
bash

bash help 命令如何生成帮助文本?

我来到这个堆栈问题并回答解释,一些 bash 命令没有手册,因此help可以使用命令来生成一些帮助。但我并不真正理解如何创建帮助文本。 --help本质上主要是编程 说明该网站。帮助是编程性质的,这是什么意思?它是从命令源文件中的注释生成的吗? 维基百科对该命令的说明 它提供有关可用命令的在线信息......(来源) 但是它从哪里获取这些信息呢?是在实际的发行版数据库中吗? ...

Admin

Bash 的 Bug?? 当 `$HISTIGNORE` 的设置以 `SP`+`*` 或 `SP`+`?*` 结尾时
bash

Bash 的 Bug?? 当 `$HISTIGNORE` 的设置以 `SP`+`*` 或 `SP`+`?*` 结尾时

当设置$HISTIGNORE以SP+*或SP+结尾时?*,当前文件夹中的文件列表将与其值连接。 无论extglob是否设置。 NG 示例,(当前文件夹只有一个文件“do_music.sh”): $ export HISTIGNORE="ls:ls *:history:history *:sudo *" $ echo $HISTIGNORE ls:ls *:history:history *:sudo do_music.sh $ 确定示例: $ export HISTIGNORE="ls:ls *:history *:sudo *:history" $ ec...

Admin

可以在 ZSH 中获得类似 Bash 的制表符补全吗?
bash

可以在 ZSH 中获得类似 Bash 的制表符补全吗?

如果你在 Bash 中执行以下操作 $ touch b bb bbb $ ls b* # press tab twice b bb bbb 如果你在 ZSH 中执行同样操作,你会得到 ➜ ls b bb bbb ZSH 扩展了与命令的匹配,因此删除了*。 当我谷歌这个话题它们都是关于其他形式的制表符补全。 问题 是否可以让 ZSH 具有与 Bash 相同的 Tab 键补全功能? ...

Admin

使用带有 -addext 和 -subj 参数的 OpenSSH 配置文件
bash

使用带有 -addext 和 -subj 参数的 OpenSSH 配置文件

我正在尝试创建一个 bash 脚本来管理 PKI。我想使用 OpenSSL conf 文件为使用我的 CA 生成和签名的证书指定一些参数。 我指定了以下默认参数: [ ca ] default_ca = my ca [ my ca ] dir = "path/to/ca" certs = $dir/certs crl_dir = $dir/crl ...

Admin