区切り文字として表を使用したawk

モハメッド

私は次の出力を持っています

root@root# adsl info --state|grep "Upstream rate"
Max:    Upstream rate = 1120 Kbps, Downstream rate = 8948 Kbps
Bearer: 0, Upstream rate = 1021 Kbps, Downstream rate = 4095 Kbps

上記の出力の表は、

root@root# adsl info --state|grep "Upstream rate"
Max:<TAB>Upstream rate = 1120 Kbps, Downstream rate = 8948 Kbps
Bearer:<TAB>0, Upstream rate = 1021 Kbps, Downstream rate = 4095 Kbps

上記の出力をawkで解析したいと思います。デリメータは集計であり、,

だから私は試しました

adsl info --state|grep "Upstream rate"| awk -F'[ ,]' '{ print $1}'

しかし、それは戻ります

Max:    Upstream
Bearer: 0

でも

adsl info --state|grep "Upstream rate"| awk -F'[\t,]' '{ print $1}'

戻り値

Max:    Ups
Bearer: 0

私は期待しました:

Max:
Bearer:

-Fオプションに集計区切り文字を追加する必要があると思います。どうやってするか?

エド・モートン

入力がおっしゃったとおりで、各行の最初の空白がタブ文字である場合、タブまたはカンマで区切られたフィールドの場合は次のようになります。

$ awk -F'[\t,]' '{print "$0 =",$0; for (i=1;i<=NF;i++) print "\t$"i,"=",$i}' file
$0 = Max:       Upstream rate = 1120 Kbps, Downstream rate = 8948 Kbps
        $1 = Max:
        $2 = Upstream rate = 1120 Kbps
        $3 =  Downstream rate = 8948 Kbps
$0 = Bearer:    0, Upstream rate = 1021 Kbps, Downstream rate = 4095 Kbps
        $1 = Bearer:
        $2 = 0
        $3 =  Upstream rate = 1021 Kbps
        $4 =  Downstream rate = 4095 Kbps

入力に対して上記のコマンドを実行し、結果を投稿します。あなたが述べたようにあなたの入力がないことに代わるもの\tはあなたのFSのが単なるプレーンとして扱われているということですt何が原因であるかは想像できませんが(sshでこれらすべてを実行している場合や、バックスラッシュが発生する前にバックスラッシュを解釈している場合を除く)、進行して実行する必要がある問題を見つける必要があります。上記のコマンドとcat -v入力内容により、問題が何であるかが正確にわかります。

ビジーボックスからツールを入手していて、awkが何をサポートしているかわからないので、awkが壊れているかどうか疑問に思います。これを試して:

$ awk -F'['$'\t'',]' '{print "$0 =",$0; for (i=1;i<=NF;i++) print "\t$" i, "=", $i}' file

FSではリテラルのタブ文字を使用します-おそらくそれが違いを生むでしょう。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

区切り文字として「」を使用したExcelvba分割機能

分類Dev

awkの区切り文字として複数の文字列を使用する

分類Dev

awkは「||」を使用しません フィールド区切り文字として

分類Dev

区切り文字として複数のスペースを使用するAWK

分類Dev

複数の区切り文字を使用したAWK

分類Dev

区切り文字を使用したawk列分割

分類Dev

特殊文字区切り文字を使用してawkを介して行と列を読み取る方法

分類Dev

sed、awk、またはtrを使用して各行を分割し、区切り文字としてコロン(:)を使用してCSV形式に変換する

分類Dev

複数文字の区切り文字を使用した正規表現

分類Dev

文字列を「.」で区切る方法 dplyr を使用したデータ フレームの区切り文字として

分類Dev

GNUawkまたはawkを使用して区切り文字の後に部分文字列を抽出します

分類Dev

文字列の区切り文字として文字を使用する方法

分類Dev

フィールド区切り文字としてタブを使用してawk内で並べ替える

分類Dev

区切り文字を保持しながら、区切り文字を使用した正規表現分割

分類Dev

区切り文字を使用したFilteringSelect

分類Dev

CLPPlusを使用した列区切り文字

分類Dev

文字列「?B?」をawkで区切り文字として使用できないのはなぜですか?

分類Dev

カット:区切り文字として「/」を使用します

分類Dev

正規表現を使用して、ピリオド(ドット)を1000区切り文字として追加します

分類Dev

awk:異なる区切り文字を使用して、指定された詳細とともに各学生の平均を印刷します

分類Dev

awkを使用せずにLinuxでcutコマンドの区切り文字として単語を使用する

分類Dev

リリース文字と区切り文字を使用して正規表現で文字列を分割する

分類Dev

複数の区切り文字があり、その区切り文字の1つを正規表現を使用して文字列に含めたい

分類Dev

Pythonとパンダ-区切り文字としてchr(255)を使用

分類Dev

複数の区切り文字を使用した区切り

分類Dev

awk:パイプラインと区切り文字としての「@」

分類Dev

awkで正規表現をフィールド区切り文字として使用するにはどうすればよいですか?

分類Dev

区切り文字としてコンマを使用して10進数を照合する正規表現

分類Dev

区切り文字としてスペースを使用して合計価格を取得する正規表現

Related 関連記事

  1. 1

    区切り文字として「」を使用したExcelvba分割機能

  2. 2

    awkの区切り文字として複数の文字列を使用する

  3. 3

    awkは「||」を使用しません フィールド区切り文字として

  4. 4

    区切り文字として複数のスペースを使用するAWK

  5. 5

    複数の区切り文字を使用したAWK

  6. 6

    区切り文字を使用したawk列分割

  7. 7

    特殊文字区切り文字を使用してawkを介して行と列を読み取る方法

  8. 8

    sed、awk、またはtrを使用して各行を分割し、区切り文字としてコロン(:)を使用してCSV形式に変換する

  9. 9

    複数文字の区切り文字を使用した正規表現

  10. 10

    文字列を「.」で区切る方法 dplyr を使用したデータ フレームの区切り文字として

  11. 11

    GNUawkまたはawkを使用して区切り文字の後に部分文字列を抽出します

  12. 12

    文字列の区切り文字として文字を使用する方法

  13. 13

    フィールド区切り文字としてタブを使用してawk内で並べ替える

  14. 14

    区切り文字を保持しながら、区切り文字を使用した正規表現分割

  15. 15

    区切り文字を使用したFilteringSelect

  16. 16

    CLPPlusを使用した列区切り文字

  17. 17

    文字列「?B?」をawkで区切り文字として使用できないのはなぜですか?

  18. 18

    カット:区切り文字として「/」を使用します

  19. 19

    正規表現を使用して、ピリオド(ドット)を1000区切り文字として追加します

  20. 20

    awk:異なる区切り文字を使用して、指定された詳細とともに各学生の平均を印刷します

  21. 21

    awkを使用せずにLinuxでcutコマンドの区切り文字として単語を使用する

  22. 22

    リリース文字と区切り文字を使用して正規表現で文字列を分割する

  23. 23

    複数の区切り文字があり、その区切り文字の1つを正規表現を使用して文字列に含めたい

  24. 24

    Pythonとパンダ-区切り文字としてchr(255)を使用

  25. 25

    複数の区切り文字を使用した区切り

  26. 26

    awk:パイプラインと区切り文字としての「@」

  27. 27

    awkで正規表現をフィールド区切り文字として使用するにはどうすればよいですか?

  28. 28

    区切り文字としてコンマを使用して10進数を照合する正規表現

  29. 29

    区切り文字としてスペースを使用して合計価格を取得する正規表現

ホットタグ

アーカイブ