![]() |
|
|
Googleのunix.com
|
|||||||
| UNIXのダミー質問と回答のため もしUNIXやLinuxについての質問があれば、ここに投稿してください。すべてのUNIXおよびLinux初心者歓迎! |
その他のUNIXおよびLinuxフォーラムトピックは参考にすること
|
||||
| スレッド | スレッドスターター | フォーラム | 返信 | 最後の投稿 |
| 特定の行を削除する | catgovind | シェルプログラミングとスクリプティング | 3 | 2008年4月30日 06:40午前 |
| 特定のセクションを読んで、どのように変更 | kn.naresh | シェルプログラミングとスクリプティング | 2 | 2008年4月18日 01:30午前 |
| 特定のAwkのNFと印刷ライン | jehrome_rando | シェルプログラミングとスクリプティング | 1 | 2007年3月13日 04:23午前 |
| 特定の行を表示 | dakid | UNIXのダミー質問と回答のため | 3 | 2006年5月25日 04:25午前 |
| どのようにファイル内の特定の行ですか? | hedgehog001 | UNIXのダミー質問と回答のため | 2 | 2005年8月23日 01:04午前 |
![]() |
|
|
LinkBack | スレッドツール | このスレッドを検索 | スレッドを評価 | 表示モード |
|
|
|
||||
|
どのように使用する特定の行を変更するsed
誰でも使用することができますどのように教えていただけますか? セッド 特定の行を次の行を変更するか?ファイルとしては以下の通りです:
" TEST/SI1573.lab " # 3670 8920時間 8920 9530をhh 9530 10694 ih 。 " TEST/DR1/FAKS0/SI2203.lab " # 9730 9580時間 9580 9840 dh 9840 10652九 10652 11997研究 ........ 私は0で、以下の行の行の最初のフィールドを変更する"テストを開始した。手術後のファイルをする必要があります: " TEST/SI1573.lab " 0 8920時間# 8920 9530をhh 9530 10694 ih 。 " TEST/DR1/FAKS0/SI2203.lab " 0 9580時間# 9580 9840 dh 9840 10652九 10652 11997研究 ........ 誰も私のどうしろと言うができるの?事前に感謝します。 |
|
||||
|
コード:
sed -e '/^"TEST/{p;N;s/.*\n[0-9]*/0/;}' filename
多くの異なるバージョンがあります セッドので、私はあなたとまったく同じ方言を理解できないかもしれない。 これは' "テスト'に開口部を二重引用符( )行の先頭に。見つかった場合、その行のプリントに見える(p) 、および、パターンスペースには、次の行が追加されます(Ñ) 。これは、次の行を、改行で区切られた2つの行を含むように、パターンスペース、実験線の原因となる。それに代わる(秒//パターン空間に/ )は、最初の行は、ゼロでは改行は改行の直後に、任意の数字。その時点で、我々行われています;どんなパターン空間にいつものように出力されることに残っている。 セッド 構文は非常に簡潔である場合を利用するには、具体的な理由がない セッド これと同等の、多分に awkは または Perlの スクリプトの詳細は非常に慣れていない(特に、維持される場合がありますが セッド) 。 時代別に編集最終; 2008年5月18日に 06:46午前..理由:すべての後のAwkやPerlを好むかもしれない... ? |
|
||||
|
コード:
awk '/^"TEST/ { t=1 ; print; next }
t==1 { $1 = "0"; t=0; }1' filename
これは、変数が発生する トン 1に実験線の後に次の行に設定する。この場合は、最初のフィールドをゼロに置き換えると、され、設定 トン ゼロに戻る。最後の1ポイントに達することは、スクリプトの中でどのラインが印刷されている。 (これは省略で、 awkはデフォルトのアクションの条件に該当する場合は、印刷して、 1として、条件は常にtrueです。 ) |
|
||||
|
私の個人的なお気に入りの1つですカーニハン&パイクの Unixのプログラミング環境 しかし、非常にため、一部の周辺機器の詳細をして以来、かなり多くの変更があるんだ。もう1つの多年草ですFriedlの 正規表現をマスターただし、それをカバーするツールの場合は、最初は戦いに慣れていない可能性があります。
は、オライリー セッド & Awkの 本は良い導入することです セッド やawkは、オンラインチュートリアルは、そこには多分同じように優れているのがたくさんある。 、 FAQセクションのリンクをしている; 私はUnixを始めたばかりだ。私は本を読む必要がありますか? - UNIXのフォーラム |