• 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 文化・アート
awkを使用してテキストまたは文字列をモードでフィルタする方法
2022-01-13

テキストをフィルタするときに、特定の条件に基づいて、または一致する特定のモードを使用して、ファイルまたは数行の文字列のいくつかの行をマークしたい場合があります。awkを使用してこのタスクを完了するのは簡単です。これはawkの中であなたに役立ついくつかの機能の一つです。

次の例を見てみましょう。例えば、あなたが買いたい食べ物が書かれたショッピングリストがあります。foodという名前です。prices.list、それに含まれる食べ物の名前と相応の価格は以下の通りです。

$ cat food_prices.list No Item_Name Quantity Price 1 Mangoes 10 $2.45 2 Apples 20 $1.50 3 Bananas 5 $0.90 4 Pineapples 10 $3.46 5 Oranges 10 $0.78 6 Tomatoes 5 $0.55 7 Onions 5 $0.45

次に、単価が$2より大きい食べ物を記号でマークしたい場合は、次のコマンドを実行して目的を達成できます。

$ awk '/ */$[2-9]/.[0-9][0-9] */ { print $1, $2, $3, $4, "*" ; } / */$[0-1]/.[0-9][0-9] */ { print ; }' food_prices.list

単価が$2より大きい項目を印刷

上の出力からマンゴーとパイナップルが含まれている行の末尾に(*)マークが付いていることがわかります。単価をチェックすると、単価が確かに$2を超えていることがわかります。

この例では、2つのモードを使用しています。

第一モード:/*/$[2-9]/.[0-9][0-9]*/食品の単価が$2より大きい行が得られます。

2番目のモード:/*/$[0-1]/.[0-9][0-9]*/食べ物の単価が$2未満の行を検索します。

上の命令は具体的に何をしましたか。このファイルには4つのフィールドがあり、モードが$2より大きい食べ物の単価を含む行に一致すると、4つのフィールドがすべて出力され、行の末尾に(*)記号がタグとして追加されます。

2番目のモードは、入力ファイルfood_に表示されるように、$2未満の他の食品単価を含む行を簡単に出力するだけである。prices.リストの中の様子。

これにより、$2を超える価格の食品項目をフィルタリングするためにモードを使用することができます。上記の出力には問題がありますが、(*)記号のある行は他の行のようにフォーマットされていません。これにより、出力がはっきりしません。

awkシリーズの第2部でも同様の問題を見ましたが、次の2つの方法で解決できます。

1、printfコマンドは以下のように使用できますが、長くて退屈です。

$ awk '/ */$[2-9]/.[0-9][0-9] */ { printf "%-10s %-10s %-10s %-10s/n", $1, $2, $3, $4 "*" ; } / */$[0-1]/.[0-9][0-9] */ { printf "%-10s %-10s %-10s %-10s/n", $1, $2, $3, $4; }' food_prices.list

AwkとPrintfを使用してアイテムをフィルタおよび出力

$ awk '/ */$[2-9]/.[0-9][0-9] */ { print $0 "*" ; } / */$[0-1]/.[0-9][0-9] */ { print ; }' food_prices.list

Awkと変数を使用してアイテムをフィルタおよび出力

結論

これがすべてです。awkコマンドを使用すると、いくつかの簡単な方法でモードマッチングを利用してテキストをフィルタリングし、1つのファイルでテキストまたは文字列のいくつかの行をマークすることができます。


ソース元URL:https://dopubox.com/article/p/871fc227af0caae8

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
  • 「韓国版純烈」K4の「アダルトKポップ」 日本デビュー曲USEN1位も獲得 コアな追っかけも
    2024-05-30

    『ボールアンドチェイン』南Q太著 評者:三木那由他【このマンガもすごい!】
    2024-05-30

    日テレ、意思疎通できず信頼喪失 「セクシー田中さん」の調査結果
    2024-05-31

    古本屋を巡り、顧みられなくなった作品、作家を生き返らせた九大大学院教授没後20年 教え子や研究仲間を支える「清新な光景」
    2024-05-30

    将棋叡王戦、藤井が勝ち最終局へ
    2024-05-30

    小学館も来週に報告書公表
    2024-05-31

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

    杉真理×和田唱がビートルズをとことん語る!NHK-FMの人気番組「ディスカバー・ビートルズ」がオンライン講座として復活!
    2024-06-02

    小学館「作家の意向第一に協議」 映像化指針、ドラマ原作者死去で
    2024-06-03

    河合隼雄物語賞に八木詠美さん 学芸賞は湯沢規子さん
    2024-06-03

    IT国家の最先端研究を知って 奈良・宇陀市がエストニアへの短期留学事業
    2024-06-04

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

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

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

    岡田将生の初ブランド「IN MY DEN」始動、第1弾グッズの受注販売がスタート
    2024-06-06

    「art stage OSAKA 2024」が9月に開催。大阪・関西万博への機運も醸成
    2024-06-05

    藤井八冠、5連覇へ白星発進 将棋棋聖戦、山崎八段破る
    2024-06-06

    佐渡金山の世界遺産登録、「情報照会」勧告
    2024-06-06

    向田邦子の名言「…これが私の料理のお稽古なのです。」【本と名言365】
    2024-06-07

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

    ©  Dopu Box
    💛