• オンラインツール
  • - 計算機
    • 文字数カウント
  • - ダウンロード
    • TikTok ダウンロード
    • Douyin ダウンロード
  • - Webツール
    • BASE64
    • Base64→画像
    • 画像→Base64
    • URLエンコード
    • JavaScript
    • タイムスタンプ
    • ユニコード変換
    • JSON整形
    • 拡張子変更
    • リスト作成
    • CSS最適化
  • - 暗号化ツール
    • MD5暗号化
    • ランダムジェネレーター
  • - 画像ツール
    • 画像圧縮
    • QRコードジェネレーター
    • QRコードリーダー
    • 壁紙プレビュー
    • 画像 EXIF
  • - 情報シート
    • 血液型遺伝
    • 服のサイズ
    • 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

その他のツール
  • 文字数カウント TikTok ダウンロード Douyin ダウンロード BASE64 Base64→画像 画像→Base64 URLエンコード JavaScript タイムスタンプ ユニコード変換 JSON整形 拡張子変更 リスト作成 CSS最適化 MD5暗号化 ランダムジェネレーター 画像圧縮 QRコードジェネレーター QRコードリーダー 壁紙プレビュー 画像 EXIF 血液型遺伝 服のサイズ app.tool_clock
  • テレビ東京、不適切表現で謝罪 「激録・警察密着24時!!」
    2024-05-29

    週末見たい展覧会5選。今週は木下佳通代の個展、テルマエ展、UESHIMA MUSEUMなど。【2024年6月第1週】
    2024-05-29

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

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

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

    〈テロ事件と「美の復讐」〉15世紀末・イタリア「メディチ家兄弟暗殺計画」とルネサンスの画家たち
    2024-06-01

    峰不二子役の増山江威子さん死去 声優、艶ある声でルパン翻弄
    2024-06-03

    アレクサンダー・カルダー個展「カルダー:そよぐ、感じる、日本」が開催
    2024-06-04

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

    「ゲバルト」展が東京日仏学院などで開催。反暴力的反応とその美的様式を探る
    2024-06-05

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

    今週末に見たい展覧会ベスト13。「令和6年 新指定国宝・重要文化財」展から国立西洋美術館の現代美術展、KYOTOGRAPHIEまで
    2024-06-04

    謎多き家形埴輪 「考古学の空白」に挑む橿考研ベテラン研究員、念願の特別展開催中
    2024-06-04

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

    ユージーン・スタジオが東南アジアに美術館を建設予定。新法人YES__pte.ltdを設立し、インドネシア・ジャカルタに美術館準備室を開設
    2024-06-04

    島左近の墓、京都の寺で発掘調査 三成の腹心、関ケ原後も生存?
    2024-06-05

    「安全だと誰も言わない万博」爆発事故で教職員組合 大阪府に子供無料招待中止申し入れ
    2024-06-04

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

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

    長山智美 デザイン狩人|HAY DOGS♡
    2024-06-06

    ©  Dopu Box
    💛