草庐IT

regex - 在 BASH 中的字符串末尾前插入一个字符 4 个字符

有没有办法在字符串末尾前4个字符插入一个冒号?例如,我有0x2aab3f439000,我需要0x2aab3f43:9000谢谢 最佳答案 使用sed你可以做:s='0x2aab3f439000'sed's/.\{4\}$/:&/' 关于regex-在BASH中的字符串末尾前插入一个字符4个字符,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/24917812/

linux - 使用 sed 或 awk 组合匹配行?

我有一个类似下面的文件:1,cake:0135112,bun:1063scone:13581biscuit:193114,jelly:1385我需要转换它,以便当在一行的开头读取一个数字时,它会与它下面的行合并,但如果开头没有数字,则该行将保持原样。这将是我需要的输出:1,cake:0135112,bun:1063scone:13581biscuit:193114,jelly:1385用sed实现这个有很多麻烦,似乎它可能不是我认为应该非常简单的最佳方法。非常感谢任何建议。 最佳答案 一个非常基本的sed实现:sed-e'/^[0-

linux - 使用 sed 或 awk 组合匹配行?

我有一个类似下面的文件:1,cake:0135112,bun:1063scone:13581biscuit:193114,jelly:1385我需要转换它,以便当在一行的开头读取一个数字时,它会与它下面的行合并,但如果开头没有数字,则该行将保持原样。这将是我需要的输出:1,cake:0135112,bun:1063scone:13581biscuit:193114,jelly:1385用sed实现这个有很多麻烦,似乎它可能不是我认为应该非常简单的最佳方法。非常感谢任何建议。 最佳答案 一个非常基本的sed实现:sed-e'/^[0-

linux - 使用sed更改文件中的字符串?

我有一个带有模板的输入文件,如下所示。我想更改版本:使用sed。Package:somenamePriority:extraSection:checkinstallMaintainer:joe@example.comArchitecture:i386Version:3.1.0.2-1Depends:Provides:somenameDescription:somedescription目前我正在使用grep-m1Versioninputfile|获取当前版本sed's/[:_#a-zA-Z\s"]*//g'并且我正在尝试用sed's/3.1.0.2-1/3.1替换当前版本.0.2/'输

linux - 使用sed更改文件中的字符串?

我有一个带有模板的输入文件,如下所示。我想更改版本:使用sed。Package:somenamePriority:extraSection:checkinstallMaintainer:joe@example.comArchitecture:i386Version:3.1.0.2-1Depends:Provides:somenameDescription:somedescription目前我正在使用grep-m1Versioninputfile|获取当前版本sed's/[:_#a-zA-Z\s"]*//g'并且我正在尝试用sed's/3.1.0.2-1/3.1替换当前版本.0.2/'输

linux - 我应该如何在 Yocto 生成的 rootfs 上 sed 文件?

我想找到一种方法,在Yocto生成的操作系统中从.bbappend文件对文件运行sed脚本。我的操作系统有一个只读的rootfs,它似乎阻止了安装后脚本的任何可能性。具体来说,我需要对/etc/default/ssh进行这些更改(在启动生成的操作系统后运行):sed-i's/var\/run/etc/'/etc/default/sshsed-i's/_readonly//'/etc/default/ssh这是我为解决这些问题而创建的openssh_7.1p1.bbappend:FILESEXTRAPATHS_prepend:="${THISDIR}/files:"SRC_URI+="\

linux - 我应该如何在 Yocto 生成的 rootfs 上 sed 文件?

我想找到一种方法,在Yocto生成的操作系统中从.bbappend文件对文件运行sed脚本。我的操作系统有一个只读的rootfs,它似乎阻止了安装后脚本的任何可能性。具体来说,我需要对/etc/default/ssh进行这些更改(在启动生成的操作系统后运行):sed-i's/var\/run/etc/'/etc/default/sshsed-i's/_readonly//'/etc/default/ssh这是我为解决这些问题而创建的openssh_7.1p1.bbappend:FILESEXTRAPATHS_prepend:="${THISDIR}/files:"SRC_URI+="\

linux - 使用 sed 替换字符串中的版本号

我在文件中设置了一个包版本,如下所示:"dist/app-build-v1.08":{我怎样才能sed版本号并用递增的数字换掉它?首先,我尝试获取该行本身,这是我的捆绑文件中的第三行。BUILD=$(sed'3q;d'./build/bundles.js)这确实抢了线。我在堆栈溢出时发现了这个片段:'s/[^0-9.]*\([0-9.]*\).*/\1/'我想在$BUILD上使用它,但它不起作用。我的预期输出是$NUM="1.08"然后我想将它增加到1.09,重建字符串并使用sed-i替换它。 最佳答案 似乎有趣的行总是第3行。那么

linux - 使用 sed 替换字符串中的版本号

我在文件中设置了一个包版本,如下所示:"dist/app-build-v1.08":{我怎样才能sed版本号并用递增的数字换掉它?首先,我尝试获取该行本身,这是我的捆绑文件中的第三行。BUILD=$(sed'3q;d'./build/bundles.js)这确实抢了线。我在堆栈溢出时发现了这个片段:'s/[^0-9.]*\([0-9.]*\).*/\1/'我想在$BUILD上使用它,但它不起作用。我的预期输出是$NUM="1.08"然后我想将它增加到1.09,重建字符串并使用sed-i替换它。 最佳答案 似乎有趣的行总是第3行。那么

regex - 带有特殊字符的 sed

如何用sed替换它?我需要替换这个:set$protection'enabled';到set$protection'disabled';请注意,我无法将enabled设置为disabled,因为它不仅在输入文件的这个位置使用。我试过了,但它没有改变任何东西,但没有给我任何错误:sed-i"s/set$protection'enabled';/set$protection'disabled';/g"/usr/local/openresty/nginx/conf/nginx.conf 最佳答案 你可以只使用下面的sed命令:命令:sed