sed相关内容

使用 Sed 和 Regex 替换字符串

我正在尝试使用 sed 但使用正则表达式取消注释文件内容(例如:[0-9]{1,5}) # 一二 12#三四34#五六56 以下工作正常: sed -e 's/#一二12/一二12/g'/file 但是,我想要的是使用正则表达式模式替换所有匹配项而不输入数字,但将数字保留在结果中. 解决方案 对于符合示例问题,只需 sed 's/^#//' 文件 就足够了,但是如果需要仅在包含 ..
发布时间:2021-12-24 12:33:29 其他开发

Bash:按最后一个字段值对文本文件进行排序

我有一个包含 ~300k 行的文本文件.每行都有不同数量的逗号分隔字段,其中最后一个保证是数字字段.我想按最后一个数字字段对文件进行排序.我做不到: sort -t, -n -k 2 file.in >文件输出 因为每行中的字段数不是恒定的.我认为 sed, awk 也许是答案,但不确定如何.例如: awk -F, '{print $NF}' file.in 给我最后一列的值,但如何使用它 ..
发布时间:2021-12-24 12:33:18 其他开发

没有备份文件的 SED

我使用以下 sed 命令替换文件中的文本: sed -i -e 's/noreply@\(.*\).example.com/noreply@example.com/' cron.yaml 但它会创建文件 cron.yaml 的备份,名称为 cron.yaml-e. 我试图将 -i 移到最后: sed -e 's/noreply@\(.*\).example.com/noreply@ex ..
发布时间:2021-12-24 12:33:10 其他开发

您可以批量编辑 grep 中返回的所有文件吗?

我想批量编辑大量在 grep 中返回的文件.(我知道,我应该更擅长 sed). 如果我这样做: grep -rnI 'xg_icon-*' 如何将所有这些文件通过管道传输到 vi 中? 解决方案 最简单的方法是让 grep 只返回文件名(-l 而不是 -n)匹配模式.在子 shell 中运行它并将结果提供给 Vim. vim $(grep -rIl 'xg_icon-*' *) ..
发布时间:2021-12-24 12:33:02 其他开发

仅当它不存在时才添加换行符

仅当文件不存在时,我才想在文件末尾添加换行符.这是为了防止文件末尾出现多个换行符. 我希望使用 sed.以下是我当前代码的问题: sed -i -e '/^$/d;$G'/inputfile回声文件1姓名1姓名2回声文件2姓名 3姓名 4(新队) 当我在文件上运行我的代码时; echo file1姓名1姓名2(新队)回声文件2姓名 3姓名 4 如果没有换行符,它会添加一个换行符,但如 ..
发布时间:2021-12-24 12:32:54 服务器开发

使用 sed 从传入流中删除换行符

我是 shell 脚本的新手,我正在尝试使用 SED 从每一行中删除换行符.这就是我到目前为止所做的: printf "{new\nto\nlinux}" |sed ':a;N;s/\n//g' 仅删除 Ist 换行符.我在某处找到了这个命令: printf "{new\nto\nlinux}" |sed ':a;N;$!ba;s/\n//g' 但它给出:“ba:找不到事件." 如果 ..
发布时间:2021-12-24 12:32:49 其他开发

从 shell 脚本中的文件中提取版本号

我正在尝试编写一个 bash 脚本来增加 中给出的版本号 {major}.{minor}.{revision} 例如. 1.2.13 是否有一种好方法可以使用 sed 或 awk 之类的东西轻松提取这 3 个数字,以便我可以增加 {revision} 数字并输出完整的版本号字符串. 解决方案 $ v=1.2.13$ echo "${v%.*}.$((${v##*.}+1))"1. ..
发布时间:2021-12-24 12:32:42 其他开发

使用 rbenv 安装最新的稳定版 Ruby

我想通过 rbenv 安装最新的稳定版 Ruby.此功能不会在 rbenv 本身中发生. 当我在 shell 中运行命令 rbenv install -l 时,我得到一长串可用版本.该列表包含所有类型的条目.以下是展示格式和多样性的部分列表: $ rbenv install -l可用版本:2.0.0-p6432.0.0-p6452.1.0-dev2.1.0-预览12.1.0-preview ..
发布时间:2021-12-24 12:32:38 其他开发

递归重命名文件 Mac OSX

试图重命名一堆文件. 我可以使用以下命令重命名当前目录中带有 bar 的 foo 的任何实例: ls .|awk '{print("mv "$1" "$1)}' |sed 's/foo/bar/2' |/bin/sh 我可以添加什么使其递归? 编辑/我的解决方案 我不知道/不理解这个 shell 类型的东西,所以我用一些(非常脏的)Ruby 来做: 5.timesdir[" ..
发布时间:2021-12-24 12:32:29 其他开发

sed 中的 \1 有什么作用?

我发现这个问题与我想要的非常相关:使用 awk 或sed 在 Unix 中,但是我无法弄清楚以下内容的作用: 's/\([,=]\)/\1/g' 我知道 g 进行了全局替换,但真的无法理解在问题的上下文中发生了什么. 解决方案 这是一个简单的例子: $ echo 'abcabcabc' |sed 's/\(ab\)c/\1/'阿巴卡布$ echo 'abcabcabc' |sed ' ..
发布时间:2021-12-24 12:32:09 其他开发

从括号中提取字符串

我是 bash 的新手,所以这是一个非常菜鸟的问题.. 假设我有一个字符串: string1 [string2] string3 string4 我想从方括号中提取string2;但括号可以在任何其他时间包围任何其他字符串. 我将如何使用 sed 等来做到这一点?谢谢! 解决方案 试试这个: echo $str |cut -d "[" -f2 |剪切 -d "]" -f1 ..
发布时间:2021-12-24 12:32:03 其他开发

.bash_profile sed: \1 未在 RE 中定义

我必须在我的 OS X 10.9 上设置本地 Web 开发环境并安装 Homebrew.指南中的下一步告诉我使用以下命令向 ~/.bash_profile 添加逻辑: echo "export PATH=\$(echo \$PATH | sed 's|/usr/local/bin||; s|/usr/local/sbin||; s|::|:|; s|^:||; s|(.*)|/usr/local ..
发布时间:2021-12-24 12:31:56 其他开发

使用 sed 用分隔符分割字符串

我有以下格式的字符串: string1:string2:string3:string4:string5 我正在尝试使用 sed 拆分 : 上的字符串并将每个子字符串打印在新行上.这是我正在做的: cat ~/Desktop/myfile.txt |sed s/:/\\n/ 打印: string1字符串2:字符串3:字符串4:字符串5 我怎样才能让它在每个分隔符上拆分? ..
发布时间:2021-12-24 12:31:47 服务器开发

从特定行开始在文件中插入行

我想在 bash 中从特定行开始将行插入到文件中. 每一行都是一个字符串,它是数组的一个元素 line[0]="foo"行[1]="条"... 具体的行是'fields' file="$(cat $myfile)"对于 $file 中的 p;做如果 [ "$p" = '字段' ]然后 insertlines() # ..
发布时间:2021-12-24 12:31:34 其他开发

如何使用 sed 从字符串中删除前 X 个字符?

我正在一个小型工业盒子中为嵌入式 Linux 编写 shell 脚本.我有一个包含文本 pid: 1234 的变量,我想从行中去除前 X 个字符,所以只有 1234 保留.我有更多的变量需要“清理",所以我需要删除 X 个第一个字符,并且 ${string:5} 由于某种原因在我的系统中不起作用. 这个盒子似乎只有sed. 我正在尝试使以下内容起作用: result=$(echo " ..
发布时间:2021-12-24 12:31:29 其他开发

为目录中的每个 zip 文件创建一个专用文件夹并提取 zip 文件

如果我选择一个 zip 文件并右键单击“在此处提取",则会创建一个带有 zip 文件名的文件夹,并将 zip 文件的全部内容提取到其中. 但是,我想通过 shell 转换几个 zip 文件.但是当我这样做 解压文件名.zip 文件夹"filename"没有被创建,但是所有的文件都被解压到了当前目录中. 我查看了参数,但没有这样的参数.我也试过 for zipfile in \*. ..
发布时间:2021-12-24 12:31:12 服务器开发

如何:在 Bash 中按照标题大小写规则转换文本

如何在遵循规则的同时将字符串转换为标题大小写,而不只是简单地将单词的每个首字母大写? 示例规则: 将所有单词大写,但以下内容除外: 小写所有冠词(a、the)、介词(to、at、in、with)和并列连词(and、but、or) 将标题中的第一个和最后一个单词大写,与词性无关 有什么简单的方法可以在 bash 中做到这一点?One-liners 表示赞赏. (作为附加说 ..
发布时间:2021-12-24 12:31:02 其他开发