AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-119404

Freedo's questions

Martin Hope
Freedo
Asked: 2023-10-17 15:19:33 +0800 CST

删除不在列表中的所有文件和文件夹

  • 5

给定一个包含我想要保留的路径的文本文件,例如:

/mnt/cache/vfs/cf/A/file
/mnt/cache/vfs/cf/B/file2

我想清除下面的所有内容,/mnt/cache/vfs/cf除非它在我的文本文件中

所以/mnt/cache/vfs/cf/Z/file3被删除等等

文本文件很大,文件名中包含空格和可能的重音符号或其他特殊字符

bash
  • 3 个回答
  • 104 Views
Martin Hope
Freedo
Asked: 2021-09-30 10:37:20 +0800 CST

如何在使用 @ 的服务之后使用 systemd

  • 2

我试图让我的 systemd 服务在wireguard 之后启动,但我不知道该怎么做,因为wireguard 使用该systemd @ 格式。

find /etc -name *wg-quick*                                                                                                                                                                                               
/etc/systemd/system/multi-user.target.wants/wg-quick@wg0.service 

我在 systemd 的 after 部分使用什么?

systemd
  • 1 个回答
  • 226 Views
Martin Hope
Freedo
Asked: 2020-02-15 01:52:24 +0800 CST

在linux上强制putty使用右键粘贴

  • 5

有没有办法putty在 Zorin OS(基于 Ubuntu)上强制允许通过右键单击粘贴。

我喜欢windows的行为,当按下右键时,粘贴选定的东西。

keyboard-shortcuts putty
  • 6 个回答
  • 5328 Views
Martin Hope
Freedo
Asked: 2020-01-07 00:37:23 +0800 CST

创建文件扩展一个变量而不是另一个

  • 0

我想从 bash 脚本创建一个文件。但是我需要扩展一些变量并从字面上打印其他变量这可能吗?

cat <<EOF >  file.sh
$EXPAND
$PRINTLITERALLY
EOF

此外,我正在尝试创建一个非常大的文件,当我尝试将其粘贴到终端中进行测试时,我收到如下错误:

-bash: urlencode: command not found

所以看起来我可能有 bash 正在解释的东西,这会在运行时影响我的 bash 脚本吗?我觉得必须有更好的方法来从我的 bash 脚本创建文件

shell-script cat
  • 1 个回答
  • 267 Views
Martin Hope
Freedo
Asked: 2020-01-04 02:43:10 +0800 CST

jq 追加数据并保留其余数据

  • 3

我正在尝试使用 jq 向数组添加一个值并保留其余内容:

   "access":{
      "allowed_users":[
         "admin",
         "test",
      ],

以上是我要附加的内容。如果我使用jq '.access.allowed_users + [ "test2" ]'它将在那里添加一个新条目,但文件的其余部分会丢失,因此我无法再次重新创建配置文件。

jq
  • 1 个回答
  • 14999 Views
Martin Hope
Freedo
Asked: 2019-12-01 23:49:02 +0800 CST

使用脚本和变量扩展创建 nginx 配置文件

  • 1

我正在尝试使用here-document带有变量扩展的 nginx 配置文件。我用:

cat <<EOF > /etc/nginx/nginx.conf
settings
EOF

它可以工作并扩展我需要的变量,但是有些变量需要逐字打印,所以它破坏了我的配置文件。

我需要逐字打印的行示例:

limit_req_zone $binary_remote_addr zone=one:30m rate=20r/s;
try_files $uri =404;

我该如何解决这个问题?

bash shell-script
  • 1 个回答
  • 901 Views
Martin Hope
Freedo
Asked: 2019-11-04 22:53:00 +0800 CST

如何将管道和标准输入与使用 - 字符的命令一起使用 [重复]

  • 0
这个问题在这里已经有了答案:
在命令选项中使用从管道而不是从文件中读取的数据 5 个答案
如何将字符串传递给需要文件的命令?[重复] (4个答案)
2年前关闭。

我正在尝试卷曲一个 txt 文件并将其通过管道传输到pip.

例子:

curl -s URL | pip install -r -

它不起作用,因为最后一个-不是我期望的 curl 输出。我也经常遇到其他命令的这个问题。

如何用 bash 解决这个问题?

bash
  • 1 个回答
  • 782 Views
Martin Hope
Freedo
Asked: 2019-08-08 23:43:43 +0800 CST

如何使用 ssh 和 if 语句测试文件是否在远程服务器中签入

  • 2

我正在尝试测试文件是否$SSHPATH/$ID.*存在。我sshpass用来提供密码,所以我不必输入。

如果文件不存在,我想执行代码

if [ "sshpass -p $SSHPASS ssh root@$SSHHOST test ! -f $SSHPATH/$ID.*" ]; then

即使文件存在于远程服务器上,这似乎也会返回 true。为什么?

我不认为它是如何在命令成功或失败时有条件地做某事的副本,因为这也不起作用,如果文件不存在,它就不会执行

if sshpass -p "$SSHPASS" ssh "root@$SSHHOST" test ! -f "$SSHPATH/$ID.*"; then
bash shell-script
  • 2 个回答
  • 2532 Views
Martin Hope
Freedo
Asked: 2019-07-05 23:12:12 +0800 CST

不区分大小写的 bash 字符串替换

  • 1

我正在尝试制作一个将合并两个字幕的脚本。

file.srt
file.forced.srt
file2.srt
file2.Forced.srt

我对匹配两个强制字幕不区分大小写。

shopt -s extglob
shopt -s nocaseglob

for file in "${1%/}/"*forced.srt; do
   echo File: "$file"
done

我有这段代码可以从文件名中删除强制字符串,所以我得到了要在我的脚本中使用的匹配文件

subs=${file//.Forced/}

如何forced从变量中删除此字符串,不区分大小写?

bash shell-script
  • 1 个回答
  • 1677 Views
Martin Hope
Freedo
Asked: 2019-04-22 20:22:45 +0800 CST

wget --spider 以 404 失败,但没有 --spider 工作

  • 1

我正在尝试在 docker 容器中进行健康检查。我找到了这个命令:

wget --quiet --tries=1 --spider http://localhost:6077 || exit 1

问题是,当容器运行时,如果我在没有 --spider 的情况下运行 wget,我会得到一个 HTTP 200 代码,但如果使用 --spider 它会返回一个 404。

为什么会发生这种情况?

$ wget --tries=1  http://localhost:6077
--2019-04-22 04:20:12--  http://localhost:6077/
Resolving localhost (localhost)... 127.0.0.1, ::1
Connecting to localhost (localhost)|127.0.0.1|:6077... connected.
HTTP request sent, awaiting response... 200 OK
Length: 436 [application/xml]
Saving to: ‘index.html.1’


$ wget --tries=1 --spider  http://localhost:6077
Spider mode enabled. Check if remote file exists.
--2019-04-22 04:21:46--  http://localhost:6077/
Resolving localhost (localhost)... 127.0.0.1, ::1
Connecting to localhost (localhost)|127.0.0.1|:6077... connected.
HTTP request sent, awaiting response... 404 Not Found
Remote file does not exist -- broken link!!!

这种奇怪的行为正在破坏我的健康检查,如果我不使用 --spider 我假设 wget 会尝试在某个地方下载 index.html 吗?

wget
  • 2 个回答
  • 2364 Views
Martin Hope
Freedo
Asked: 2019-04-03 02:48:38 +0800 CST

Tar 没有使用 -C 解压到另一个目录

  • 1

我正在尝试从这里下载最新的 ffmpeg并将 ffmpeg 文件解压缩到,/usr/bin但无论我做什么,我都无法将文件放到那里!

我下载和解压文件的命令

wget -q https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz -P /tmp

tar -xf /tmp/ffmpeg-release-amd64-static.tar.xz  --no-anchored 'ffmpeg' -C /usr/bin/ --strip-components=1

Obs:我只想要那里的文件,而不是文件夹!

我究竟做错了什么?

tar
  • 1 个回答
  • 96 Views
Martin Hope
Freedo
Asked: 2019-03-26 01:13:52 +0800 CST

如果文件名包含括号,则查找失败

  • 2

我正在尝试在循环中使用 find 来创建一个变量,该变量包含与文件名 + 所需字符串匹配的文件

例子:

file1.en.srt
file1.mkv
file1.pt.srt

这是代码的相关部分:

shopt -s nullglob
shopt -s nocaseglob

if [ -d "$1" ]; then
    for file in "${1%/}/"*mkv; do
        # Get filename to match against subs and audios
        filename="$(basename "$file" .mkv)"

        # Find matching subtitle file
        engsubs="$(find . -name "$filename*en.srt*" | sed -e 's,^\./,,')"   

        # Find matching audio file
        engaudio="$(find . -iname "$filename*en.ac3" -o -iname "$filename*en.eac3" -o -iname "$filename*en.dts" | sed -e 's,^\./,,')" 
    done
fi

如果文件不包含括号,它可以工作,但是find命令找不到名称包含括号的文件的任何内容。为什么会这样?我想创建一个像$en这样包含的变量file1.en.srt

bash shell-script
  • 1 个回答
  • 2007 Views
Martin Hope
Freedo
Asked: 2018-11-03 15:24:35 +0800 CST

genisoimage 使文件夹大小翻倍

  • 1

我有一个包含 ~22k 子文件夹的文件夹,每个子文件夹可以有更多子文件夹,深度可达 ~7。

所以我想把它做成一个文件,而不是一个rar或类似的文件,因为解压它可能需要很长时间。我想要一个 .iso,因为我可以挂载它并只访问我需要的东西,而不必提取所有内容。

我用了这个命令genisoimage --iso-level 4 -o folder.iso "folder"

文件夹大小为 21.7 GB,但将其转为 iso 后为 43.2 GB?这是预期的吗?

iso mkisofs
  • 3 个回答
  • 1203 Views
Martin Hope
Freedo
Asked: 2018-06-28 23:37:55 +0800 CST

在 ubuntu 16.04 上编译 mkclean

  • -1

我正在努力在 Ubuntu 16.04 上编译mkclean 。

我下载文件并解压缩它,但是当我运行时,./configure我得到了这个:

./configure: 2: ./configure: %%BEGIN: not found
./configure: 3: ./configure: SCRIPT: not found
./configure: 4: ./configure: %%END: not found
make: *** corec/tools/coremake: No such file or directory.  Stop.
mv: cannot stat 'corec/tools/coremake/coremake': No such file or directory
./configure: 1: ./configure: corec/tools/coremake/system_output.sh: not found
Running ./coremake
./configure: 11: ./configure: ./coremake: not found
Now you can run make -C %(PROJECT_NAME) or gmake -C %(PROJECT_NAME)

有什么帮助吗?我只能找到旧的结果,它们不起作用

compiling
  • 1 个回答
  • 632 Views
Martin Hope
Freedo
Asked: 2018-04-04 09:28:42 +0800 CST

大小写接受为空或特定字符

  • 0

在这里做一些媒体处理:

case "$3" in
all)
  :
  ;;
[a-z][a-z][a-z])
  if [ "$2" == "subtitles" ]; then switches="$switches -s $3"
  if [ "$2" == "audio" ]; then switches="$switches -a $3"
  ;;
*)
  printf 'Invalid language code for language (should be 3-letter ISO-639 or "all"): %s\n' "$2"
  exit 1
  ;;
esac

这是为了确保az 之间$3是一个或三个字母。all我的问题是,如果为空,*我的命令会失败。$3如果我删除它,我可以继续,但我无法确定az 之间$3是3 个字母还是 3 个字母。all

我该如何解决这个问题?

bash shell-script
  • 1 个回答
  • 30 Views
Martin Hope
Freedo
Asked: 2018-01-20 06:31:07 +0800 CST

case 语句只允许字母字符?

  • 2
case "$1" in
all)
  echo "$1"
  ;;
[a-z][a-z][a-z][a-z][a-z][a-z])
  echo "$1"
  ;;
*)
  printf 'Invalid: %s\n' "$3"
  exit 1
  ;;
esac

有了这个,唯一接受的输入是全部和 6 个字符。它不接受 4 个字符或超过 6 个字符。

我在这里要做的是只允许字符,而不是数字或符号,但长度不受限制。

什么是正确的语法?谢谢

bash case
  • 3 个回答
  • 4464 Views
Martin Hope
Freedo
Asked: 2018-01-19 21:33:54 +0800 CST

使用 grep 时屏幕上出现奇怪的符号?

  • 12

./trans ... 显示转义码的命令输出

知道是什么原因造成的吗?如果不使用 grep,则显示的唯一内容是 ISO 代码和空白区域。

使用的软件

命令:./trans --id --input /path/to/txt | grep ISO | grep [a-z]

root@box /test # alias grep
alias grep='grep --color=auto'
root@box /test # type grep
grep is aliased to `grep --color=auto'

正常输出:

带有可读文本和 URL 的 trans 命令输出

grep terminal
  • 1 个回答
  • 2797 Views
Martin Hope
Freedo
Asked: 2018-01-16 00:50:54 +0800 CST

匹配bash中语言代码的正则表达式

  • 0

stackoverflow中有一个类似的问题,但它不适用于 bash。

需要什么才能使其与 bash 一起使用,与脚本/变量一起使用?

我说的是 ISO 639-1 或 ISO 639-2 代码。

我的 bash 是 GNU 4.3。

例子:

root@box ~/test2 # ls
eng  en-US  por pt-BR

该页面中的正则表达式失败:

root@box ~/test2 # ls | grep ^[a-z]{2}-[A-Z]{2}$
root@box ~/test2 # ls | grep ^[A-Za-z]{1,8}(-[A-Za-z0-9]{1,8})*$
-bash: syntax error near unexpected token `('
root@box ~/test2 # ls | grep ^[a-z]{2}(-[A-Z]{2})*
-bash: syntax error near unexpected token `('
root@box ~/test2 # ls | grep "^[a-z]{2}(-[A-Z]{2})*"
bash shell-script
  • 3 个回答
  • 1553 Views
Martin Hope
Freedo
Asked: 2018-01-07 20:06:28 +0800 CST

修复 bash 脚本在路径不以 / 结尾时期望路径输入在结尾处中断

  • 4

我有这个代码:

for file in "$@"*png; do
  echo "$file"
done

仅当您提供以 / like 结尾的路径时,它才有效/root/。

在这种情况下,在不破坏我的脚本的情况下,将 / 添加到路径输入的正确方法是什么?

如果你在最后给出一个没有 / 的路径输入,它只是这样做:

File: /root*png

如果我将其修改为for file in "$@"/*png; do并输入/root/test/它可以工作,但结果看起来很难看:

File: /root/test//sample2.png
bash
  • 3 个回答
  • 318 Views
Martin Hope
Freedo
Asked: 2018-01-06 19:29:21 +0800 CST

如何检索给定轨道 ID 的音频通道、比特率和其他质量测量值

  • 1

我有这个代码:

track1=$(mkvmerge -I sample.mkv | sed -ne '/^Track ID [0-9]*: audio ([^)]*).* language:eng.*/ { s/^[^0-9]*\([0-9]*\):.*/\1/;H }; $ { g;s/[^0-9]/,/g;s/^,//;p }' | cut -c1)

它将检索匹配语言英语的 1 首曲目。

我想制作一个脚本来比较相同语言的音轨,并找到质量最高的音轨。

但是mkvinfo,mkvmerge并且mediainfo似乎无法检索有关给定轨道 ID 的信息,而且我不知道如何解析它们的完整输出以仅检索我需要的内容。

这个怎么做?我需要检索猜测质量可能需要的所有内容,例如格式、比特率、通道数、大小,并将其存储在track1channels.

我对解决这个难题的其他解决方案持开放态度。

shell-script audio
  • 1 个回答
  • 1291 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve