• 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 文化・アート
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
  • 藤井聡太八冠、瀬戸際の戦い 将棋叡王戦、31日に第4局
    2024-05-29

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

    幸田文の名言「台所に立てば、…」【本と名言365】
    2024-05-30

    『マッドマックス:フュリオサ』に登場する「ある絵画」は何を意味しているのか? ギリシア神話と「ファム・ファタル」から考察する
    2024-06-01

    【光る君へ】平安時代、強烈なエピソードで知られた2人の受領とは
    2024-06-01

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

    知られざる作品や作家との巡り合いが生まれる高円寺のギャラリーショップ。
    2024-06-02

    「警察密着24時」担当者ら懲戒 テレビ東京、石川社長は3割返上
    2024-06-03

    写真家たちは強大な権力の抑圧にどう抗ったのか。バルト三国の写真家に焦点を当てる展覧会をレポート
    2024-06-04

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

    アートフェア東京、次回は2025年3月に開催決定
    2024-06-04

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

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

    五木ひろし歌手生活60年…ふるさと福井へ恩返しの新曲
    2024-06-04

    口腔ケアで高齢者を守ろう 「おとなの歯磨き」訪問歯科医が出版
    2024-06-04

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

    田名網敬一が新作の巨大インスタレーションを発表へ。世界初の大規模回顧展「田名網敬一 記憶の冒険」
    2024-06-06

    青森で来年夏に音楽祭 沖澤のどかさんが総監督
    2024-06-06

    京都・祇園祭の「長刀鉾」稚児決まる 記者会見で「頑張ります」
    2024-06-06

    なぜ、いま「先住民の現代アート」なのか? 『美術手帖』2024年7月号は、「先住民の現代アート」特集
    2024-06-06

    ©  Dopu Box
    💛