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

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

    ドローンサッカーで世界2位 大阪・星翔高校チーム 「世界でも通用することがわかった」
    2024-05-30

    原作者の意向は取り入れられたと日テレ
    2024-05-30

    「ねこクラゲ」被告、脱税認める 原稿優先で申告せず、福岡地裁
    2024-05-31

    作曲家ビゼーの窮地を救った傑作オペラ『真珠採り』の聴きどころは?【クラシック今日は何の日?】
    2024-05-31

    芸術レベルのグッズも登場! パリ・東京・大阪の名コレクションが集まる「TRIO展」
    2024-06-01

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

    「君たちはどう生きるか」展 第二部 レイアウト編(三鷹の森ジブリ美術館)レポート。絵を描くことの営為、そして苦悩も見せる
    2024-06-04

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

    「三島喜美代―未来への記憶」(練馬区美術館)開幕レポート。最大規模のインスタレーションも
    2024-06-05

    東京都写真美術館で「今森光彦 にっぽんの里山」が開催へ
    2024-06-04

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

    【1971年の今日 : 6月5日】京王プラザホテル全面開業―今からは想像もできない着工前の巨大な貯水池だった頃の写真も
    2024-06-05

    「VOCA展」に関するハラスメント防止のためのガイドラインが制定
    2024-06-05

    3日間限定発売! 名作パントンチェアが新たな魅力を纏った限定カラーで登場。
    2024-06-05

    古今東西 かしゆか商店【つづら】
    2024-06-05

    写真家の吉田ルイ子さん死去
    2024-06-06

    佐渡金山、世界遺産登録に向け「追加情報の提出」求められる
    2024-06-06

    umami.is をおすすめする理由
    2025-07-04

    ©  Dopu Box
    💛