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

Mehdi Hasan

Input.txtとして名前を付けたファイルには、名前、クラス、schoolName、marks1、marks2として#区切り文字付きの次のデータがあります

Deepu#First#Meridian#95#90
Neethu#Second#Meridian#80#75
Sethu#First#DAV#75#70
Theekshana#Second#DAV#80#79
Teju#First#Sangamithra#88#63
Theekshita#Second#Sangamithra#91#90

上記のファイルを使用して|、出力としてセパレーターを使用して平均とともにすべての詳細を印刷します。

私の答え:

awk 'OFS="|" { avg=0; for(i=4;i<=NF;i++){avg=($4+$5)/2;} print $1,$2,$3,$4,$5,avg}' Input.txt

私は次のようにもう1つのコマンドを試しました:

awk 'OFS="|" {sum=0; for(i=4;i<=NF;i++) sum+=$i; print $1,$2,$3,$4,$5,sum/(NF-2)}' Input.txt

出力は次のようになります。出力画像

希望の出力を得るために私を助けてください。

stack0114106

BEGINでFSを設定する必要があります。以下は私のために機能します

awk 'BEGIN {FS="#"} {avg=0; for(i=0;i<NR;i++) avg=($4 + $5)/2.0;}{OFS="|"}{print $1,$2,$3,$4,$5,avg}'

$ awk 'BEGIN {FS="#"} {avg=0; for(i=0;i<NR;i++) avg=($4 + $5)/2.0;}{OFS="|"}{print $1,$2,$3,$4,$5,avg}' mehdi.txt
Deepu|First|Meridian|95|90|92.5
Neethu|Second|Meridian|80|75|77.5
Sethu|First|DAV|75|70|72.5
Theekshana|Second|DAV|80|79|79.5
Teju|First|Sangamithra|88|63|75.5
Theekshita|Second|Sangamithra|91|90|90.5

$

@EdMortonに感謝します。これは、次のようにさらに短縮できます。

$ awk ' BEGIN { FS="#";OFS="|"} {$6=($4 + $5)/2.0;$0=$0;print $0 }' mehdi.txt
Deepu|First|Meridian|95|90|92.5
Neethu|Second|Meridian|80|75|77.5
Sethu|First|DAV|75|70|72.5
Theekshana|Second|DAV|80|79|79.5
Teju|First|Sangamithra|88|63|75.5
Theekshita|Second|Sangamithra|91|90|90.5

$

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

gsubとgreplを拡張して、指定された区切り文字間の部分文字列を無視します

分類Dev

Awkを使用して、きれいに印刷されたテーブルを区切り文字付きの1行に変換します

分類Dev

パラメータとしてAWKスクリプトに渡された3つの区切られたファイルを読み取り、3つのファイルを解析して、3つの異なる配列に格納します

分類Dev

awk を使用して複数の区切り文字を印刷するにはどうすればよいですか?

分類Dev

不幸な分数構造とともに、区切り文字が異なる列を2つに分割します

分類Dev

「|」に基づいて文字列を分割します 区切り文字と異なる配列への値の設定

分類Dev

2つの文字列/文字の間に区切り文字が表示されない限り、指定された区切り文字で文字列を展開します

分類Dev

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

分類Dev

例を試しているときに、MySQL RANGEPARTITIONが指定されたパーティションで値を正しく表示しませんでした。私の完全な詳細は次のとおりです

分類Dev

さまざまな詳細のネストされたリストがあり、angularJsを使用してそれぞれを次々に表示したいと思います。私のコードは私のクエリを理解するのに役立ちます

分類Dev

Pythonを使用して、指定された「区切り文字」によって長い文字列を分割する

分類Dev

perl形式:固定されていない長さの文字列を印刷しようとしたときに切り捨てを回避する方法

分類Dev

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

分類Dev

N番目の文字ごとに文字列を分割し、異なる区切り文字で結合します

分類Dev

awkで複数の区切り文字を使用し、varとして$ 0を追跡してさまざまなフィールドを並べ替えます

分類Dev

正規表現を使用して、コンマ区切りのコード文字列に指定されたコードが含まれていることを確認します

分類Dev

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

分類Dev

区切り文字としてdefault(string [])を指定したString.Split()、どのように機能しますか?

分類Dev

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

分類Dev

lprを使用してPDFを印刷すると、GUIの印刷とは異なる出力になります

分類Dev

正規表現を使用して、区切り文字としても使用される特殊文字「」をエスケープします

分類Dev

Rの場合:列ごとに異なる区切り文字を使用してテキストファイルを保存しますか?

分類Dev

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

分類Dev

sedを使用して複数の行にまたがることができる/できない区切り文字

分類Dev

Linuxで既存の列を使用して新しい列を作成すると、出力の区切り文字が入力とは異なります。

分類Dev

変数を使用しないときに、スペース以外の区切り文字を使用して単語分割を機能させる方法はありますか?

分類Dev

無視された単語を一致の区切り文字として使用する方法

分類Dev

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

分類Dev

javascriptと最初に表示されていたものとは異なる画像を使用してDIVの表示を変更します。ボタンを使用しない

Related 関連記事

  1. 1

    gsubとgreplを拡張して、指定された区切り文字間の部分文字列を無視します

  2. 2

    Awkを使用して、きれいに印刷されたテーブルを区切り文字付きの1行に変換します

  3. 3

    パラメータとしてAWKスクリプトに渡された3つの区切られたファイルを読み取り、3つのファイルを解析して、3つの異なる配列に格納します

  4. 4

    awk を使用して複数の区切り文字を印刷するにはどうすればよいですか?

  5. 5

    不幸な分数構造とともに、区切り文字が異なる列を2つに分割します

  6. 6

    「|」に基づいて文字列を分割します 区切り文字と異なる配列への値の設定

  7. 7

    2つの文字列/文字の間に区切り文字が表示されない限り、指定された区切り文字で文字列を展開します

  8. 8

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

  9. 9

    例を試しているときに、MySQL RANGEPARTITIONが指定されたパーティションで値を正しく表示しませんでした。私の完全な詳細は次のとおりです

  10. 10

    さまざまな詳細のネストされたリストがあり、angularJsを使用してそれぞれを次々に表示したいと思います。私のコードは私のクエリを理解するのに役立ちます

  11. 11

    Pythonを使用して、指定された「区切り文字」によって長い文字列を分割する

  12. 12

    perl形式:固定されていない長さの文字列を印刷しようとしたときに切り捨てを回避する方法

  13. 13

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

  14. 14

    N番目の文字ごとに文字列を分割し、異なる区切り文字で結合します

  15. 15

    awkで複数の区切り文字を使用し、varとして$ 0を追跡してさまざまなフィールドを並べ替えます

  16. 16

    正規表現を使用して、コンマ区切りのコード文字列に指定されたコードが含まれていることを確認します

  17. 17

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

  18. 18

    区切り文字としてdefault(string [])を指定したString.Split()、どのように機能しますか?

  19. 19

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

  20. 20

    lprを使用してPDFを印刷すると、GUIの印刷とは異なる出力になります

  21. 21

    正規表現を使用して、区切り文字としても使用される特殊文字「」をエスケープします

  22. 22

    Rの場合:列ごとに異なる区切り文字を使用してテキストファイルを保存しますか?

  23. 23

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

  24. 24

    sedを使用して複数の行にまたがることができる/できない区切り文字

  25. 25

    Linuxで既存の列を使用して新しい列を作成すると、出力の区切り文字が入力とは異なります。

  26. 26

    変数を使用しないときに、スペース以外の区切り文字を使用して単語分割を機能させる方法はありますか?

  27. 27

    無視された単語を一致の区切り文字として使用する方法

  28. 28

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

  29. 29

    javascriptと最初に表示されていたものとは異なる画像を使用してDIVの表示を変更します。ボタンを使用しない

ホットタグ

アーカイブ