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-424398

Daniel Krajnik's questions

Martin Hope
Daniel Krajnik
Asked: 2024-07-28 22:14:24 +0800 CST

嵌套命令替换不起作用,但硬编码结果有效

  • 5

我正在尝试通过 es.exe 命令行(其工作方式与 mlocate 类似)将从所有 voidtools检索到的文件名传递给“图像预览器”,例如 gwenview 或 nsxiv(在wsl环境中)。

这有效:

IFS=$'\n'; nsxiv $(es keyword1 keyword2)

但这不起作用:

IFS=$'\n'; nsxiv $(es $(wl-paste))

当前keyword1 keyword2存储在系统剪贴板中。

user@wsl:~$ wl-paste | od -c
0000000   k   e   y   w   o   r   d   1       k   e   y   w   o   r   d
0000020   2  \n
0000022

为什么?我以为 $()​​ 命令替换可以嵌套。但 nsxiv 返回No such file or directory

es 是将 es.exe 输出转换为匹配 wsl 环境的别名)

es() {
    # Invoke the es.exe with provided arguments and pipe its output
    # through sed to replace Windows-style line endings with Unix-style line endings,
    # then use xargs to handle newline-delimited input and pass each path as a single argument to wslpath.
    # -p argument - search paths
    # -sort date-modified - sensible default
    # 2>/dev/null - remove "xargs: wslpath: terminated by signal 13"
    /mnt/c/Users/user/Downloads/ES-1.1.0.27.x64/es.exe -p -sort date-modified -instance 1.5a "$@" | sed 's/\r$//' | xargs -n1 -d'\n' wslpath 2>/dev/null
}
bash
  • 1 个回答
  • 32 Views
Martin Hope
Daniel Krajnik
Asked: 2023-11-05 19:06:05 +0800 CST

管道读取命令?

  • 7

我正在尝试使用程序通过管道传输带有特殊字符的字符串(例如HG@eg3,l'{TT\"C!到另一个命令(termux-clipboard-set)read。似乎read旨在创建一个临时变量(例如read temp),然后将其传递给另一个命令(例如termux-clipboard-set $temp)。

我想知道是否有更快的方法来使用管道来做到这一点,例如:read | termux-clipboard-set?

更新:抱歉,我忘了提及我正在寻找可以在 bash (termux) 上运行的东西。

bash
  • 2 个回答
  • 530 Views
Martin Hope
Daniel Krajnik
Asked: 2023-11-04 23:49:50 +0800 CST

对于具有自定义端口的服务器循环(for i in "user1@server1 -p 12345" "user2@server2 -p 54321" ...; do)

  • 11

我正在尝试通过 ssh 在一系列服务器上运行命令。我最近更改了 ssh 端口以避免互联网扫描仪,但这破坏了我的脚本。有谁知道在 for 循环中为每个 user@server 条目指定不同端口的“简单方法”?

for i in '[email protected] -p 12345' '[email protected] -p 54321'
 do printf "\e[%sm%s\e[00m\n" 32 $i
 ssh $i crontab -l
done

第二行只是在输出之前打印服务器名称(为了可读性)。

它给我的不是幸福,而是:ssh: Could not resolve hostname server1.domain1.com -p 12345: Name or service not known

以前,当所有端口都是默认的 22 并且不需要指定时,它就可以工作。

shell
  • 5 个回答
  • 1757 Views
Martin Hope
Daniel Krajnik
Asked: 2023-08-26 01:23:40 +0800 CST

将 json 转换为 csv,并在 jq 中标头

  • 7

是否可以转换这个json:

[
    {
        "bytes": 276697,
        "checked": false
    },
    {
        "bytes": 276697,
        "checked": false
    }
]

到 jq 中带有标题的表?

我试过了:

cat file.json | jq '.[] | join(",")'

但它省略了标题:

"276697,false"
"276697,false"

它应该是:

"bytes,checked"
"276697,false"
"276697,false"

我希望您只需运行两个命令:

cat file.json | jq '.[] | keys, .[] | join(",")'

但第二个失败了:

"bytes,checked"
jq: error (at <stdin>:64): Cannot iterate over null (null)

理想情况下它会比这更简单。

csv
  • 2 个回答
  • 71 Views
Martin Hope
Daniel Krajnik
Asked: 2023-06-21 02:50:50 +0800 CST

双重匹配 - 如果前一行与另一个模式匹配,则替换后续行中的模式?

  • 6

我正在尝试替换VEVENT.icsVTODO文件中的条目,如果它date与另一行的当前条目匹配(导出不正确):

BEGIN:VCALENDAR
BEGIN:VEVENT
DTSTART:20220340T140000
END:VEVENT
BEGIN:VEVENT
DTSTART:20230620T193700
END:VEVENT
BEGIN:VEVENT
DTSTART:20210210T193800
END:VEVENT
END:VCALENDAR

第二个 VEVENT 条目具有当前时间,因此它应该变为:

BEGIN:VTODO
DTSTART:20230620T193700
END:VTODO

BEGIN:VEVENT和行之间有更多条目END:VEVENT,为了清楚起见,我对它们进行了编辑。

我已经用 sed 尝试过此操作,但范围选择整个文件中第一次出现的 VEVENT,而不是匹配模式之后(或之前)的第一次出现,因此它会替换所有这些。

sed -i "/BEGIN:VEVENT/,/DTSTART:$(date +%Y%m%dT%H%M)/{s/VEVENT/VTODO/}" org.ics

我试图将其适应这里的另一个问题,我认为该问题是相关的:查找一个字符串并在找到第一个字符串后替换另一个字符串

sed -n "/DTSTART:$(date +%Y%m%dT%H%M)/,${/END:VEVENT/{x//{x b}g s/VEVENT/VTODO/}}" org.ics

但它根本不起作用: sed: -e expression #1, char 25: unexpected ,'`

awk
  • 4 个回答
  • 74 Views
Martin Hope
Daniel Krajnik
Asked: 2023-01-02 05:41:46 +0800 CST

在上游更新时自动修补软件包

  • 5

有没有办法在更新时自动将自定义补丁合并到上游包?从我目前收集到的信息来看,修改源代码需要您维护一个单独的包分支,您需要维护这些包。

我希望一些包管理器或其他工具可以在每次更新时自动修补小的变化(不同的键绑定、图标等)。

是不该做的事吗?它是故意这样设计的,以防止用户“霸占”他们的自定义更改,而是为上游做出贡献吗?

package-management
  • 1 个回答
  • 34 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