袋名\u003d " mybag2 "バージョン\u003d " 1.1 " / & Gの" />
![]() |
|
|
Googleのunix.com
|
|||||||
| シェルプログラミングとスクリプティング KSH 、 CSH 、 shに、 bashの、はPerl 、 PHPは、削除するsed 、 Awkの、他のシェルスクリプトやシェルスクリプト言語についての質問の投稿はこちら。 |
その他のUNIXおよびLinuxフォーラムトピックは参考にすること
|
||||
| スレッド | スレッドスターター | フォーラム | 返信 | 最後の投稿 |
| テキストファイルの行を削除 | ベルセルク | UNIXのダミー質問と回答のため | 6 | 2008年12月16日 03:44午後 |
| テキストおよび行の直後にどのようにマッチする行を削除し | orahi001 | UNIXのダミー質問と回答のため | 6 | 2008年1月15日 12:34午前 |
| 任意のテキストファイルからの最初の行を削除しますか? | aungomarin | シェルプログラミングとスクリプティング | 5 | 2006年5月16日 10:42午後 |
| 行の最初の文字に基づいて行を削除 | borncrazy | UNIXのダミー質問と回答のため | 2 | 2005年12月6日 03:27午後 |
| テキストファイルから最後の行を削除 | hcclnoodles | シェルプログラミングとスクリプティング | 4 | 2002年6月25日 10:52午前 |
![]() |
|
|
LinkBack | スレッドツール | このスレッドを検索 | スレッドを評価 | 表示モード |
|
|
|
||||
|
行から行にpattern2方法をpattern1を開始する前にテキストを削除するか?
マイデータxml'ishです(ここでの抜粋) : -
<bag name\u003d"mybag1" version\u003d"1.0"/> <contents id\u003d"coins"/> <bag name\u003d"mybag2" version\u003d"1.1"/> <contents id\u003d"clothes"/> <contents id\u003d"shoes"/> <bag name\u003d"mybag3" version\u003d"1.6"/> 私の行の行の内容によって異なることができます(番号) mybag2とその後続の内容を削除します。このように私のパターンmybag2まで(ただし、削除するなど)の次の"袋名は"タグと結果を希望する: - <bag name\u003d"mybag1" version\u003d"1.0"/> <contents id\u003d"coins"/> <bag name\u003d"mybag3" version\u003d"1.6"/> 私とこの試みはいくつかの異なる方法がある セッド やawkは、まだ解決策を見つけなければならない。任意の助けいただければ幸いです。 |
|
||||
|
これは私のソリューションです:
---------ファイル: awk_tets -------------- 開始(フラグ\u003d 0 ) / ^ <袋名\u003d " mybag2 " / (フラグ\u003d 1 ) / ^ <袋名\u003d " mybag3 " / (フラグ\u003d 0 ) (場合(フラグ\u003d\u003d 0 ) (印刷; ) ) --------------------------------------- コマンドラインで: $ awkは- fをawk_test your_data_file >結果 それを使ってみよう ![]() |
|
||||
|
引用:
|
|
||||
|
私は、ソリューションを試みた: -
私@ myserver $ nawk '開始(フラグ\u003d 0 ) / ^ <袋名\u003d " mybag2 " / (フラグ\u003d 1 ) / ^ <袋名\u003d " mybag3 " / (フラグ\u003d 0 ) (場合(フラグ\u003d\u003d 0 ) (印刷; ) ) ' test2 <bag name\u003d"mybag1" version\u003d"1.0"/> <contents id\u003d"coins"/> <bag name\u003d"mybag3" version\u003d"1.6"/> が、その作品は、問題が2つ目の袋の名前を任意の値がされると、そのは、特に" mybag3 " 、 2つ目のパターンである必要がありますので、より多くの" / ^バッグ名\u003d汎用/ だから私は、こちらも試した: - 私@ myserver $ nawk '開始(フラグ\u003d 0 ) / ^ <袋名\u003d " mybag2 " / (フラグ\u003d 1 ) / ^ <袋名\u003d / (フラグ\u003d 0 ) (場合(フラグ\u003d\u003d 0 ) (印刷; ) ) ' test2 <bag name\u003d"mybag1" version\u003d"1.0"/> <contents id\u003d"coins"/> <bag name\u003d"mybag2" version\u003d"1.1"/> <contents id\u003d"clothes"/> <contents id\u003d"shoes"/> <bag name\u003d"mybag3" version\u003d"1.6"/> これは、フラグがリセットされているストレートの後は、もっと一般的なパターンとしてmybag2ラインも設定されていたマッチが失敗した。 それならば、そのパターンを切り替えるためにやった! 私@ myserver $ nawk '開始(フラグ\u003d 0 ) / ^ <袋名\u003d / (フラグ\u003d 0 ) / ^ <袋名\u003d " mybag2 " / (フラグ\u003d 1 ) (場合(フラグ\u003d\u003d 0 ) (印刷; ) ) ' test2 <バッグ 名\u003d " mybag1 "バージョン\u003d " 1.0 " / > <contents id\u003d"coins"/> <bag name\u003d"mybag3" version\u003d"1.6"/> 非常に正しい方向へのリードのおかげで私kholostoi |