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
    • 最新
    • 标签
主页 / computer / 问题

问题[sed](computer)

Martin Hope
Nathan
Asked: 2022-10-03 14:13:38 +0800 CST

如何在密码存储中批量更改用户名

  • 5

我一直在使用pass for 通过 GPG 存储我的密码。我正在尝试一次将数十个帐户中的旧用户名更改为新用户名。

每个用户名都在密码下的“用户名:”注释中。即一个gpg加密文件~/.password-store/amazon如下:

password123
Username: [email protected]
URL: amazon.com
OTP: ... 

我不能只替换所有出现的旧用户名,因为有时用户名会出现在其他评论中。一个这样的例子是在 OTP 代码中。这似乎是一个相对简单的问题,我只是不想冒破坏所有出现的旧用户名的风险。

sed
  • 1 个回答
  • 11 Views
Martin Hope
Elias Estatistics
Asked: 2022-09-07 10:19:02 +0800 CST

我可以在 linux bash 中使用 sed 将文件的每个文本行加倍吗?

  • 5

我可以在 linux bash 中使用 sed 将文件的每个文本行加倍吗?

示例文件:

aab1
aac2
awq6a
azs4

我想要的是:

aab1 | aab1
aac2 | aac2
awq6a | awq6a
azs4 | azs4

我知道“阅读线”,但是,我是怎么做的:

  • 只使用 sed 命令?
  • 通过使用“阅读线”?

附言。我想将 dir 输出命令的每一行加倍以将其用于操作。

bash sed
  • 1 个回答
  • 38 Views
Martin Hope
244boy
Asked: 2022-07-12 22:18:43 +0800 CST

从日志中获取顶级 url

  • 6

我有许多日志文件:

adsfs.demo.com_2022-07-11-0000-0001_cn.tgz 
adsfs.demo.com_2022-07-11-0000-0002_cn.tgz 
adsfs.demo.com_2022-07-11-0000-0003_cn.tgz 
adsfs.demo.com_2022-07-11-0000-0004_cn.tgz 
adsfs.demo.com_2022-07-11-0000-0005_cn.tgz 
...

它的内容是这样的:

google 16.122.87.76 12.48.167.135 80 adsfs.demo.com [11/Jul/2022:00:45:03 +0800]  1657471503.000 "GET https://adsfs.demo.com/mp/app/feeds/index.js?age=11&name=jock 1.1" 304 - 395 - - 1 "https://dhfs.demo.com/" "Mozilla/5.0 (Linux; U; Android 11; zh-cn; PDVM00 Build/RKQ1.201217.002) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/90.0.4430.61 Mobile Safari/537.36 HeyTapBrowser/40.7.39.5" "16.11.87.76" "-" 1 - 1

我的要求是从第 8 行获取带有参数的 topURL,第 8 字段是这样的:

"GET https://adsfs.demo.com/mp/app/feeds/index.js?age=11&name=jock 1.1"

我想要的结果如下:

https://adsfs.demo.com/mp/app/feeds/index.js?age=11&name=jock 13549
https://adsfs.demo.com/mp/app/feeds/index.js?age=12&name=jock 12541
https://adsfs.demo.com/mp/app/feeds/index.js?age=13&name=rose 1142
https://adsfs.demo.com/mp/app1/index.css?age=11&name=jock 1074
https://adsfs.demo.com/mp/app2/index.html 874
...

我试过这个,但似乎不正确:

 zcat * | awk '{print $10, $17}' | awk '{a[$1]+=$10} END{for(i in a){print i, a[i]}}' | sort -rn -k 2 | head

https://adsfs.demo.com/user 0
https://adsfs.demo.com/union/adlogo/o_1512387525231.png 0
https://adsfs.demo.com/union/adlogo/logo_wo_b.png 0
https://adsfs.demo.com/union/adlogo/logo_w_b.png?aaa=aa.png 0
https://adsfs.demo.com/union/adlogo/logo_w_b.png?aa=1.jpg 0
https://adsfs.demo.com/union/adlogo/logo_w_b.png 0
https://adsfs.demo.com/union/adlogo/gdt_logo.png 0
https://adsfs.demo.com/signin 0
https://adsfs.demo.com/res/v2/feeds/mat_pic/202101/05/1000096829_1609822941972.jpg.short.webp?region=cn-north-1&x-ocs-process=image%252fresize%252cm_fix%252cw_640%252ch_320%252ffallback 0
https://adsfs.demo.com/res/v2/feeds/mat_pic/202101/05/1000096829_1609822941972.jpg.short.webp 0
linux sed
  • 1 个回答
  • 29 Views
Martin Hope
irishwristwatch
Asked: 2022-06-10 23:23:17 +0800 CST

sed 将匹配中的每个字符替换为单个字符,例如 █████ 编辑

  • 5

是否有 sed 替换函数(或其他正则表达式)将匹配模式捕获的每个字符替换为单个字符,该字符旨在覆盖或编辑匹配项?例如 Full Block █ Unicode: U+2588, UTF-8: E2 96 88 将是一个不错的选择。是否有捷径可寻?

regex sed
  • 2 个回答
  • 148 Views
Martin Hope
surfmuggle
Asked: 2022-05-25 01:34:19 +0800 CST

如何对包含特定字符串的文件中的所有行进行分组和计数

  • 5

我想过滤文件中包含的所有行,mySearchString然后将它们组合在一起并计算它们。

示例查找包含的所有行9791

AB-9791___Foo
AB-9791___Foo
DE-9791___Bar
AB-0001___Foo

使用 $ grep "9791" myFile.txt给出了这个结果

AB-9791___Foo
AB-9791___Foo
DE-9791___Bar 
// 0001 was filtered out

这个结果应该像这样分组和计数(如 SQL Group by Count)

AB-9791___Foo     2
DE-9791___BAR     1

这个答案使用 perl,但我们的机器上没有安装 perl。

什么工具(grep、awk、sed或其他)可用于实现第二部分的分组和计数?

更新测试记录

在我的测试文件Test_2.txt中,这些行是写的

AB-9791___Foo
DE-9791___Bar
AB-0001___Foo
AB-9791___Foo
AB-9791___Foo
AB-9791___Foo
DE-9791___Bar
DE-9791___Bar
DE-9791___Bar

我复制并粘贴了每一AB-9791___Foo行,所以它们应该是相同的。运行$ grep '9791' Test_grep_uniq_sort.txt | uniq -c给出了这个结果

  1     AB-9791___Foo
  1     DE-9791___Bar // expected: 4 actual: 1, 2, 1
  3     AB-9791___Foo // expected: 4 actual: 1, 3
  2     DE-9791___Bar
  1     DE-9791___Bar

运行$ sort Test_2.txt > Test_2_sort_0.txt然后使用grep | uniqonTest_2_sort_0.txt几乎返回了预期的输出。

  $ grep '9791' Test_2_sort_0.txt | uniq -c
  4     AB-9791___Foo
  1     DE-9791___Bar // this is due to a missing line break / line feed
  3     DE-9791___Bar

手动添加换行符/换行符后一切正常

grep sed
  • 2 个回答
  • 338 Views
Martin Hope
Michael
Asked: 2022-04-29 12:52:53 +0800 CST

sed 用正则表达式删除

  • 5

我有包含的代码

#ifdef CEEDLING_TESTS
void scheduler_task_delay_update(uint8_t task_index) {
#else
static void scheduler_task_delay_update(uint8_t task_index) {
#endif

我想删除除

void scheduler_task_delay_update(uint8_t task_index) {

所以我创建了一个脚本:

#!/bin/bash
echo $PWD
for f in $(find src/ -type f)
do
    sed -i '/#ifdef CEEDLING_TESTS/d' $f
    sed -i '/#else/d' $f
    sed -i '/#endif/d' $f
    sed -i '/^static/d' $f
done

这在 99% 的时间里都有效。除非我的代码开头为

static void run_task(uint8_t task_index) {

此代码未使用ifdef. 如何使用 sed 和正则表达式区分两者?

编辑:使用在线正则表达式解析器,这应该找到有问题的文本:

sed -i '/#ifdef CEEDLING_TESTS/d' $f
sed -i -E "s/#else.*static/temp/g" $f

编辑2:在这里找到一个示例,尝试重新创建:

sed -i -e 's/.*#else\(.*\)#endif.*/\1/' $f
regex sed
  • 1 个回答
  • 31 Views
Martin Hope
PW123
Asked: 2022-04-09 02:00:22 +0800 CST

sed 仅匹配和替换某些字符

  • 6

我有多个格式非常相似的字符串。

(#1111111)
(#4444444)

我试图使用 sed 来提供输出:

1111111
4444444

我努力了:

sed  's/(#[0-9]+)/^[0-9]+/g'

这似乎匹配确定,但替换不起作用。

sed replacement
  • 1 个回答
  • 523 Views
Martin Hope
Priora
Asked: 2021-12-10 16:09:48 +0800 CST

从文本文件 awk 或 sed 中的杂乱路径中删除文件名

  • 5

我有一个包含许多行的 xml 文件,其中包含以下内容:

Save="C:\Users\Administrator\Desktop\my files\1020\A54f\Drawing965.DWG" Module="0"
Save="C:\Users\Administrator\Desktop\my files\2706\gFgf0g4f\File1.PNG" Module="0"
Save="C:\Users\Administrator\Desktop\my files\8151\Test\Other.000" Module="0"

我想删除文件名并保留其他所有内容。像这样:

Save="C:\Users\Administrator\Desktop\my files\1020\A54f\" Module="0"
Save="C:\Users\Administrator\Desktop\my files\2706\gFgf0g4f\" Module="0"
Save="C:\Users\Administrator\Desktop\my files\8151\Test\" Module="0"

文件名和文件夹名有很大不同,但每个文件的深度是相同的。所以基本上在第 7 个 \ 之后擦除文件名

我将这个正则表达式拼凑在一起,它可以工作,但是 xml 其他部分的文件名正在被删除:

s/([a-zA-Z0-9_.-]+)\.([a-zA-Z0-9.]{3})$//g
bash sed
  • 2 个回答
  • 267 Views
Martin Hope
Human
Asked: 2021-11-04 08:16:26 +0800 CST

如何用未知数量的空格替换 sed 中的一行?

  • 5

我想用 sed 替换配置文件中的一行。但我试图替换的行包含未知数量的空格:

conf  is    foo
conf   is    bar
config    is      foobar

我试图匹配空白字符,\s+但没有运气:

$ sed -r 's|conf\s+is\s+foo|conf is boo|g' file.txt

我想替换conf is foo为conf is boo.

我怎样才能做到这一点?

regex sed
  • 1 个回答
  • 362 Views
Martin Hope
Fabien
Asked: 2021-10-18 11:55:46 +0800 CST

使用 sed 清空 HTML 标签

  • 13

我想清空每个 HTML 标签的内容,但要“保持结构”。

从:

<h5>Holdrs <div class="tooltip" data-tooltip="Accounts with ..."></div></h5>
<div class="value">
  <span class="amount">25,241</span><a class="smallnav" href="/c/token/0xB31f66AA3C1e785363F0875A1B7"><svg class="icon-s icon">

我想得到:

<>Holdrs <><><>
<>
  <>25,241<><><>

根据我对 sed 的理解,这应该是:

sed 's/<.*>/<>/'

但它只返回:

<>
<>
  <>

(在这里测试:https ://sed.js.org/?gist=7af9c1c1762a6a93d582502b3d4fe22f )。

我做错了什么?什么是正确的模式?

html sed
  • 2 个回答
  • 1650 Views

Sidebar

Stats

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

    如何减少“vmmem”进程的消耗?

    • 11 个回答
  • Marko Smith

    从 Microsoft Stream 下载视频

    • 4 个回答
  • Marko Smith

    Google Chrome DevTools 无法解析 SourceMap:chrome-extension

    • 6 个回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Martin Hope
    Vickel Firefox 不再允许粘贴到 WhatsApp 网页中? 2023-08-18 05:04:35 +0800 CST
  • Martin Hope
    Saaru Lindestøkke 为什么使用 Python 的 tar 库时 tar.xz 文件比 macOS tar 小 15 倍? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh 如何减少“vmmem”进程的消耗? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Windows 10 搜索未加载,显示空白窗口 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve