2012-04-12 7 views
1

多くのファイル内で、大量のテキストを削除しようとしています。このグロブは、ファイルの中央に挿入されます。AWKを使用して、HTMLファイル内のテキストのグロブを削除しようとしています。

私のbashスクリプトでは、AWKを使って試してみます。

コマンドはほどです:</SCRIPT>が始まりで、終了です

awk '/</SCRIPT>/{p=1;print}</script>/{p=0}!p' 

目的は、ファイル内で、</SCRIPT>で始まり、最後に</script>で終わるすべてのテキストをファイル内で削除して、上下のhtmlをそのままにしておくことです。

スクリプトの最初と最後に-xとa + xを追加して、失敗している箇所を確認しました。

gawkは」次のいずれかの後に改行を無視します:

, { ? : || && do else" 

をだから私が思う

awk: /</SCRIPT/>{p=1;print}/</script>{p=0}!p 
awk:      ^syntax error 

SS64がいることを私に語った:

awkは私にこのことを伝えます私はawkコマンドで "<"を分離する必要がありますが、それはトラブルのリストには載っていません私の変数...

私はこれをどうやって行うのですか?なぜawkはこれほど詳しく文句を言わなかったのですか?あなたが先頭を削除しようとすると、タグを終了し、その後の間のすべてのテキストは、あなたが使用する必要がありますしている場合

awk '/<\/SCRIPT>/{p=1;print} /<\/script>/{p=0}!p' 
+1

エディタにヘルプボタンがあります。コードブロックを4つのスペースでインデントする必要があります(そのためのボタンがあります)。バックリンクにはインラインコード/ htmlを入れます。私があなたの投稿に行ったことを見るには、「編集x時間前」をクリックしてください。 – Mat

答えて

3

あなたがマッチ内部/をエスケープする必要が

awk '/<\/SCRIPT>/{p=1}; !p; /<\/script>/{p=0}' file 
+0

それは速かった! –

2

awk: /</SCRIPT/>{p=1;print}/</script>{p=0}!p 
awk:^syntax error  ^syntax error 
関連する問題