• Online Tools
  • - Calculators
    • Character Count
  • - Download
    • TikTok Download
    • DouYin Download
  • - Web Tools
    • BASE64
    • Base64 to Image
    • Image to Base64
    • URL Encoding
    • JavaScript
    • Timestamp
    • Unicode Converter
    • JSON Format
    • Modify Extension
    • Make List
    • CSS Optimizer
  • - Encryption Tools
    • MD5 Encryption
    • Random Generator
  • - Image Tools
    • Image Compression
    • QR Code Generator
    • QR Code Reader
    • Wallpaper Preview
    • Image EXIF
  • - Info Sheets
    • Blood Type Heredity
    • Clothing Sizes
  • [email protected]
DopuBox
  • English
  • Español
  • Français
  • 日本語
  • 한국어
  • 简体中文
  • 繁體中文
全部 ニュース Meta Code 文化・アート
Linuxはawkテキスト処理ツールを使用して複数行のマージを実現する例
2022-02-20

Linuxシステムではawkテキスト処理ツールを使用し、複数行をマージする必要がある場合があります。これはawknext文を使用する必要があります。以下、Linuxでawkを使用して複数行のマージを実現する方法を紹介します。必要な方はご理解ください。

awknext文は、ループで行単位で一致し、nextに遭遇すると現在の行がスキップされ、次の文が直接無視されます。で行ないます。

コードは次のとおりです。

  text.txtの内容は:

  a

  b

  c

  d

  e

  [chengmo@centos5 shell]$ awk ‘NR%2==1{next}{print NR,$0;}’ text.txt

  2 b

  4 d

レコード行番号を2で割った場合、現在の行はスキップされます。次のprint NRでは、$0も実行されません。次の行から、プログラムはNR%2値の判断を開始します。このときレコード行番号は:2で、次の文ブロックが実行されます:‘print NR,$0’

awk next使用例: コードは次のとおりです。

要件:

ファイル:text.txt形式:

  web01[192.168.2.100]

  httpd ok

  tomcat ok

  sendmail ok

  web02[192.168.2.101]

  httpd ok

  postfix ok

  web03[192.168.2.102]

  mysqld ok

  httpd ok

awkで出力フォーマットを次のように変更する必要があります。

  web01[192.168.2.100]: httpd ok

  web01[192.168.2.100]: tomcat ok

  web01[192.168.2.100]: sendmail ok

  web02[192.168.2.101]: httpd ok

  web02[192.168.2.101]: postfix ok

  web03[192.168.2.102]: mysqld ok

  web03[192.168.2.102]: httpd ok

分析:

分析では、「web」行が含まれている行をスキップし、次の行に内容を統合する必要があることがわかりました。

  [chengmo@centos5 shell]$ awk ‘/^web/{T=$0;next;}{print T“:\t”$0;}’ test.txt

  web01[192.168.2.100]: httpd ok

  web01[192.168.2.100]: tomcat ok

  web01[192.168.2.100]: sendmail ok

  web02[192.168.2.101]: httpd ok

  web02[192.168.2.101]: postfix ok

  web03[192.168.2.102]: mysqld ok

  web03[192.168.2.102]: httpd ok

Linuxがawkを使用して複数行のマージを行う方法について説明しましたが、本文ではnext文を使用するのが便利で、ループマッチングではnextに遭遇すると自動的にスキップして複数行のマージを実現します。


ソース元URL:https://dopubox.com/article/p/6eca1fd8b17388cc

Other Tools
  • Character Count TikTok Download DouYin Download BASE64 Base64 to Image Image to Base64 URL Encoding JavaScript Timestamp Unicode Converter JSON Format Modify Extension Make List CSS Optimizer MD5 Encryption Random Generator Image Compression QR Code Generator QR Code Reader Wallpaper Preview Image EXIF Blood Type Heredity Clothing Sizes
  • 藤井聡太八冠、瀬戸際の戦い 将棋叡王戦、31日に第4局
    2024-05-29

    被害者「問題解決には程遠い」 旧ジャニーズ被害者らが会見
    2024-05-29

    “ひばり”の愛称にふさわしい美しいメロディ。ハイドンの『弦楽四重奏曲第67番』【クラシック今日は何の日?】
    2024-05-30

    かど番・藤井聡太、第4局始まる 将棋、叡王戦
    2024-05-30

    鳥取・大山でたいまつ行列 夏山開き前夜祭
    2024-06-01

    富士山麓のダイナミックな食材を味わう“奥・山梨”のガストロノミー〈Restaurant SAI 燊〉。
    2024-06-01

    【大河ドラマ「光る君へ」本日第22話】紫式部と清少納言は「顔を合わせていなかった」?
    2024-06-01

    香川県・直島に開館する新たな美術館の正式名称が「直島新美術館」に決定
    2024-06-03

    「2億円トイレ」のイメージ図など公開 大阪・関西万博
    2024-06-04

    「ロバート」秋山さんが鳥取PR イリュージョニストに扮し
    2024-06-04

    稀代のピアニスト、マルタ・アルゲリッチの伝説の始まりはこの1曲から【クラシック今日は何の日?】
    2024-06-04

    知ってる? 「登録博物館等マーク」
    2024-06-05

    「KOTARO NUKAGA(天王洲)」が移転し拡張。約386平米の巨大スペースに
    2024-06-05

    太宰府天満宮で「Fukuoka Art Book Fair」が開催へ
    2024-06-04

    「梅津庸一 エキシビションメーカー」(ワタリウム美術館)開幕レポート。きっとあなたも展覧会をつくりたくなる
    2024-06-04

    横山奈美の個展「広い空に / Big Sky Mind」がN&A Art SITEで開催へ
    2024-06-05

    性被害者支援の法人設立 スマイル社
    2024-06-04

    大学入学共通テスト、追試は本試験1週間後 コロナ禍前に戻す 月経痛の配慮明記も
    2024-06-05

    「Osaka Art & Design 2024」(大阪市内)開幕レポート。何気ない日常のなかで多様なカルチャーに触れる
    2024-06-06

    「江戸期より後の遺構」 世界遺産目指す佐渡の金山、一部除外勧告
    2024-06-06

    ©  Dopu Box
    💛