のsed:私はawkでのスクリプトを作成したいと思いますソート行がアルファベット順のawkを使用して、および/または私はそうのようにフォーマット数百行を持つファイル持って
#blah
RewriteCond %{HTTP_HOST} www.blah.com [NC]
RewriteRule ^/xyz(|/)$ http://www.blah.com/404.html [R=301,L,NC]
#xblah
RewriteCond %{HTTP_HOST} www.blah.com [NC]
RewriteRule ^/hkf(|/)$ http://www.blah.com/404.html [R=301,L,NC]
#ablah
RewriteCond %{HTTP_HOST} www.blah.com [NC]
RewriteRule ^/abc/.*(|/)$ http://www.blah.com/404.html [R=301,L,NC]
を/使用してこのファイルをアルファベット順にするのsed各テキストグループの3行目の2番目の引数。このファイルの場合は、 "abc"、 "hkf"または "xyz"です。これは、このApacheリダイレクトファイルで作成されたリダイレクトです。
- CONCATENATEソート-k3,3
- を使用して、各ライン間の区切り文字
- ソートして1行に3行の各グループのライン: は私がやりたいことだったことを考え出しその後、3ラインを組み立て直すことでしょう
マイ期待される出力をファイルに分ける空白行
#ablah
RewriteCond %{HTTP_HOST} www.blah.com [NC]
RewriteRule ^/abc/.*(|/)$ http://www.blah.com/404.html [R=301,L,NC]
#xblah
RewriteCond %{HTTP_HOST} www.blah.com [NC]
RewriteRule ^/hkf(|/)$ http://www.blah.com/404.html [R=301,L,NC]
#blah
RewriteCond %{HTTP_HOST} www.blah.com [NC]
RewriteRule ^/xyz(|/)$ http://www.blah.com/404.html [R=301,L,NC]
これは意味がありますか?これを行うより良い方法はありますか?
p.s.私の意図は、スクリプトを移植可能にして、この構造のいくつかのファイルで使用できるようにすることです。問題を解決するためのコードを提案するときは、この問題を効率的に解決する方法を理解し始め、最終結果を拡張できるようにするために、私のようなnewbのランク付けを可能な限り最善の方法で説明してください。
ご協力ありがとうございます。
を入力の上からの出力ファイルを期待されていますか? – anubhava
anubhava、私は私のOPを編集した、私はそれが今より意味があると思う。 – user3043123
sedはソートに適していないので、awkはあなたのツールになります – NeronLeVelu