Error[8]: Undefined offset: 5, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述我有一个数百行的文件格式如下: #blahRewriteCond %{HTTP_HOST} www.blah.com [NC]RewriteRule ^/xyz(|/)$http://www.blah.com/404.html [R=301,L,NC]#xblahRewriteCond %{HTTP_HOST} www.blah.com [NC]RewriteRule ^/hkf(|/ 我有一个数百行的文件格式如下:

#blahRewriteCond %{http_HOST} www.blah.com [NC]RewriteRule ^/xyz(|/)$http://www.blah.com/404.HTML [R=301,L,NC]#xblahRewriteCond %{http_HOST} www.blah.com [NC]RewriteRule ^/hkf(|/)$http://www.blah.com/404.HTML [R=301,NC]#ablahRewriteCond %{http_HOST} www.blah.com [NC]RewriteRule ^/abc/.*(|/)$http://www.blah.com/404.HTML [R=301,NC]

我想在awk / sed中创建一个脚本,使用每组文本第三行中的第二个参数对该文件进行字母顺序排列.在这个文件的情况下,它是“abc”,“hkf”或“xyz”,可以是任何东西 – 它们是在这个apache重定向文件中创建的重定向.

我想我想做的是:

>将每组三条线连接成一条线,每条线之间有一个分隔符
>使用sort -k3,3对行进行排序
>然后用分离的空白行重新组装3行构造
>写入文件

我的预期输出看起来像这样:

#ablahRewriteCond %{http_HOST} www.blah.com [NC]RewriteRule ^/abc/.*(|/)$http://www.blah.com/404.HTML [R=301,NC]#blahRewriteCond %{http_HOST} www.blah.com [NC]RewriteRule ^/xyz(|/)$http://www.blah.com/404.HTML [R=301,NC]

这有意义吗?有一个更好的方法吗?

附:我的目的是使脚本可移植,以便它可以在这个结构的几个文件上使用.在建议解决问题的代码时,请尽可能地拼出像我这样的新职级,开始了解如何有效地解决这个问题,并能够扩展最终结果.

任何和所有的帮助非常感谢.

解决方法 您可以在Gnu Awk中完成整个 *** 作:

awk -f sort.awk input.txt

sort.awk在哪里

BEGIN {    RS=""}{    match(
#ablahRewriteCond %{http_HOST} www.blah.com [NC]RewriteRule ^/abc/.*(|/)$http://www.blah.com/404.HTML [R=301,NC]
,/RewriteRule \^\/(.*)\(\|/,a) key[NR]=a[1] "\t" NR block[NR]=[+++]}END { asort(key) for (i=1; i<=NR; i++) { split(key[i],a,"\t") print block[a[2]] printf "\n" }}

生产:

[+++] 总结

以上是内存溢出为你收集整理的使用awk和/或sed按字母顺序对文件中的行进行排序全部内容,希望文章能够帮你解决使用awk和/或sed按字母顺序对文件中的行进行排序所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 6, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述我有一个数百行的文件格式如下: #blahRewriteCond %{HTTP_HOST} www.blah.com [NC]RewriteRule ^/xyz(|/)$http://www.blah.com/404.html [R=301,L,NC]#xblahRewriteCond %{HTTP_HOST} www.blah.com [NC]RewriteRule ^/hkf(|/ 我有一个数百行的文件格式如下:

#blahRewriteCond %{http_HOST} www.blah.com [NC]RewriteRule ^/xyz(|/)$http://www.blah.com/404.HTML [R=301,L,NC]#xblahRewriteCond %{http_HOST} www.blah.com [NC]RewriteRule ^/hkf(|/)$http://www.blah.com/404.HTML [R=301,NC]#ablahRewriteCond %{http_HOST} www.blah.com [NC]RewriteRule ^/abc/.*(|/)$http://www.blah.com/404.HTML [R=301,NC]

我想在awk / sed中创建一个脚本,使用每组文本第三行中的第二个参数对该文件进行字母顺序排列.在这个文件的情况下,它是“abc”,“hkf”或“xyz”,可以是任何东西 – 它们是在这个apache重定向文件中创建的重定向.

我想我想做的是:

>将每组三条线连接成一条线,每条线之间有一个分隔符
>使用sort -k3,3对行进行排序
>然后用分离的空白行重新组装3行构造
>写入文件

我的预期输出看起来像这样:

#ablahRewriteCond %{http_HOST} www.blah.com [NC]RewriteRule ^/abc/.*(|/)$http://www.blah.com/404.HTML [R=301,NC]#blahRewriteCond %{http_HOST} www.blah.com [NC]RewriteRule ^/xyz(|/)$http://www.blah.com/404.HTML [R=301,NC]

这有意义吗?有一个更好的方法吗?

附:我的目的是使脚本可移植,以便它可以在这个结构的几个文件上使用.在建议解决问题的代码时,请尽可能地拼出像我这样的新职级,开始了解如何有效地解决这个问题,并能够扩展最终结果.

任何和所有的帮助非常感谢.

解决方法 您可以在Gnu Awk中完成整个 *** 作:

awk -f sort.awk input.txt

sort.awk在哪里

BEGIN {    RS=""}{    match(
#ablahRewriteCond %{http_HOST} www.blah.com [NC]RewriteRule ^/abc/.*(|/)$http://www.blah.com/404.HTML [R=301,NC]
,/RewriteRule \^\/(.*)\(\|/,a) key[NR]=a[1] "\t" NR block[NR]=}END { asort(key) for (i=1; i<=NR; i++) { split(key[i],a,"\t") print block[a[2]] printf "\n" }}

生产:

[+++] 总结

以上是内存溢出为你收集整理的使用awk和/或sed按字母顺序对文件中的行进行排序全部内容,希望文章能够帮你解决使用awk和/或sed按字母顺序对文件中的行进行排序所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
使用awk和或sed按字母顺序对文件中的行进行排序_系统运维_内存溢出

使用awk和或sed按字母顺序对文件中的行进行排序

使用awk和或sed按字母顺序对文件中的行进行排序,第1张

概述我有一个数百行的文件格式如下: #blahRewriteCond %{HTTP_HOST} www.blah.com [NC]RewriteRule ^/xyz(|/)$http://www.blah.com/404.html [R=301,L,NC]#xblahRewriteCond %{HTTP_HOST} www.blah.com [NC]RewriteRule ^/hkf(|/ 我有一个数百行的文件格式如下:

#blahRewriteCond %{http_HOST} www.blah.com [NC]RewriteRule ^/xyz(|/)$http://www.blah.com/404.HTML [R=301,L,NC]#xblahRewriteCond %{http_HOST} www.blah.com [NC]RewriteRule ^/hkf(|/)$http://www.blah.com/404.HTML [R=301,NC]#ablahRewriteCond %{http_HOST} www.blah.com [NC]RewriteRule ^/abc/.*(|/)$http://www.blah.com/404.HTML [R=301,NC]

我想在awk / sed中创建一个脚本,使用每组文本第三行中的第二个参数对该文件进行字母顺序排列.在这个文件的情况下,它是“abc”,“hkf”或“xyz”,可以是任何东西 – 它们是在这个apache重定向文件中创建的重定向.

我想我想做的是:

>将每组三条线连接成一条线,每条线之间有一个分隔符
>使用sort -k3,3对行进行排序
>然后用分离的空白行重新组装3行构造
>写入文件

我的预期输出看起来像这样:

#ablahRewriteCond %{http_HOST} www.blah.com [NC]RewriteRule ^/abc/.*(|/)$http://www.blah.com/404.HTML [R=301,NC]#blahRewriteCond %{http_HOST} www.blah.com [NC]RewriteRule ^/xyz(|/)$http://www.blah.com/404.HTML [R=301,NC]

这有意义吗?有一个更好的方法吗?

附:我的目的是使脚本可移植,以便它可以在这个结构的几个文件上使用.在建议解决问题的代码时,请尽可能地拼出像我这样的新职级,开始了解如何有效地解决这个问题,并能够扩展最终结果.

任何和所有的帮助非常感谢.

解决方法 您可以在Gnu Awk中完成整个 *** 作:

awk -f sort.awk input.txt

sort.awk在哪里

BEGIN {    RS=""}{    match(
#ablahRewriteCond %{http_HOST} www.blah.com [NC]RewriteRule ^/abc/.*(|/)$http://www.blah.com/404.HTML [R=301,NC]
,/RewriteRule \^\/(.*)\(\|/,a) key[NR]=a[1] "\t" NR block[NR]=}END { asort(key) for (i=1; i<=NR; i++) { split(key[i],a,"\t") print block[a[2]] printf "\n" }}

生产:

总结

以上是内存溢出为你收集整理的使用awk和/或sed按字母顺序对文件中的行进行排序全部内容,希望文章能够帮你解决使用awk和/或sed按字母顺序对文件中的行进行排序所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1026927.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存