The UNIX and Linux Forums  
Helloやアメリカ合衆国へようこそ! UNIXおよびLinuxフォーラム!訪問し、当社のグローバルコミュニティに参加いただきありがとうございます。

Go Back   UNIXおよびLinuxフォーラム > トップフォーラム > シェルプログラミングとスクリプティング
Googleのunix.com



シェルプログラミングとスクリプティング KSH 、 CSH 、 shに、 bashの、はPerl 、 PHPは、削除するsed 、 Awkの、他のシェルスクリプトやシェルスクリプト言語についての質問の投稿はこちら。

その他のUNIXおよびLinuxフォーラムトピックは参考にすること
スレッド スレッドスターター フォーラム 返信 最後の投稿
記録は、記録には、キーワードに基づいてカウント aemunathan シェルプログラミングとスクリプティング 4 2009年3月3日 08:39午前
条件に基づいてファイルを検証する trichyselva シェルプログラミングとスクリプティング 8 2009年1月2日 08:51午前
numが必要にファイル1のレコードがファイル2のレコードを確認するには、ベースにいくつかのcondnsを設定する mavesum シェルプログラミングとスクリプティング 3 2008年11月26日 10:48午前
行数を抽出条件に基づい prvnrk シェルプログラミングとスクリプティング 4 2008年10月17日 06:24午前
レコードがない場合のファイル内のレコードヘッダーとプレビューなしに数を数える guiguy シェルプログラミングとスクリプティング 2 2007年6月7日 01:15午後

Reply
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek を搭載 Powered by Google
 
LinkBack スレッドツール このスレッドを検索 スレッドを評価 表示モード
  #1固定リンク)  
Old 2009年6月5日
aemunathan aemunathan is offline
登録ユーザー
  
 

参加日: 2008年5月
投稿: 75
条件に基づいてレコードをカウントするためのAwkを使用していない

やあ

..... 200906051400,200906051500,200906051600私のようにフォルダ名に日付と時刻スタンプを持つファイルを過ごしていますので、毎日24ファイルが生成されます

私はこの24のファイルの特定の日々のことをする必要がある

ファイルは、データなどが含まれて
コード:
200906050016370   0   1244141195225298lessrv3       BSNLSERVICE1                  BSNLSERVICE1                  2128                                                        LOCATIONMANAGER          SLIR                 919443200299   MSISDN  ASC   919443200299   0   SUCCESS                                           1244141195225298less      919443200299        124414      79.301938811.6885305NORMAL    DELAY_                                                                                                                                                                                                                                                                                      WGS84  
200906050016440   0   1244141197503299lessrv3       BSNLSERVICE1                  BSNLSERVICE1                  2139                                                        LOCATIONMANAGER          SLIR                 919449838266   MSISDN  ASC   919449838266   0   SUCCESS                                           1244141197503299less      919449838266        124414      74.739722013.3302837NORMAL    DELAY_                                                                                                                                                                                                                                                                                      WGS84  
200906050017070   0   1244141224604306lessrv3       BSNLSERVICE1                  BSNLSERVICE1                  2128                                                        LOCATIONMANAGER          SLIR                 919448010097   MSISDN  ASC   919448010097   1   SYSTEM FAILURE                                    1244141224604306less      919448010097        124414                          NORMAL    DELAY_                                                                                                                                                                                                                                                                                      WGS84  
200906050017110   0   1244141227460308lessrv3       BSNLSERVICE1                  BSNLSERVICE1                  2128                                                        LOCATIONMANAGER          SLIR                 919449838266   MSISDN  ASC   919448010098   1   SYSTEM FAILURE                                    1244141227460308less      919449838266   124414                          NORMAL    DELAY_                                                                                                                                                                                                                                                                                      WGS84  

20090605140148        1204702370366140lessrv3                                     RTMS                          0                                                           TRACKING                 tlrep                                                            0   SUCCESS                                                                                         1                                                                                                                                                                                                                                                                                                                                     WGS84  
200906051402100   0   1195202147789210lessrv3       RTMS                          RTMS                                                                                      LOCATIONMANAGER          SLIR                 919446001620   MSISDN  ASC   919446001620   526 INACTIVE SUBSCRIBER                               1195202147789210less                          124419                          NORMAL    DELAY_                                                                                                                                                                                                                                                                                      WGS84  
200906051402100   0   1195202147789210lessrv3       RTMS                          RTMS                                                                                      LOCATIONMANAGER          SLIR                 919446001618   MSISDN  ASC   919446001618   526 INACTIVE SUBSCRIBER                               1195202147789210less                          124419                          NORMAL    DELAY_                                                                                                                                                                                                                                                                                      WGS84  
200906051402100   0   1195202147789210lessrv3       RTMS                          RTMS                                                                                      LOCATIONMANAGER          SLIR                 919446001617   MSISDN  ASC   919446001617   526 INACTIVE SUBSCRIBER                               1195202147789210less                          124419                          NORMAL    DELAY_                                                                                                                                                                                                                                                                                      WGS84

私は以下の操作を行うにはスクリプトが必要
1 。このフィルタを適用する)は、レコードを4ドルと6ドル( \u003d\u003d BSNLSERVICE1と$ 6 \u003d\u003d 2128 $ 4例に基づいており、その日の全レコード数( 20090605 * )


出力必要です:
BSNLSERVICE1 2128 \u003d\u003d 3


2 。 $ 14 (つまり、成功、失敗)に基づいてフィルタリングする)は、レコードを4ドルと6ドル( \u003d\u003d BSNLSERVICE1と$ 6 \u003d\u003d 2128 $ 4例に基づいており、 ( 20090605 * )とグループの日レコードの合計数


出力必要です:
BSNLSERVICE1 2128サクセス\u003d\u003d 1
システム障害BSNLSERVICE1 2128 \u003d\u003d 2


3 。このフィルタを適用する) 、グループ$ 9 (例: 919448010098 、 919446001618 )に基づいて、 ( 20090605 * ) $ 9の日それぞれのレコードの合計数のレコードが4ドルと6ドル( \u003d\u003d BSNLSERVICE1と$ 6 \u003d\u003d 2128 $ 4例に基づいている


出力必要です:
919449838266 2
919448010097 1


出力は4ドルと6ドルのBSNLSERVICE1 \u003d\u003d \u003d\u003d 2128 ..他のもの( $ 4 \u003d\u003d RTMS )のみ必要とされていないする必要があります。

pls私を助けて

編集aemunathanで最終; 2009年6月5日に 09:33午前..
  #2固定リンク)  
Old 2009年6月5日
panyam panyam is offline Forum Advisor  
登録ユーザー
  
 

参加日: 2008年09月
投稿数: 474
このようなものを試してみてください:
コード:
awk '$4=="BSNLSERVICE1"&&$6=="2128" { count++ } END { print "BSNLSERVICE1-->2128-->" count }'  file_name.txt
残りもほぼ同じです。スクリプトでは、ほんの少しの変更が必要だった。
  #3固定リンク)  
Old 2009年6月5日
Franklin52 Franklin52 is online now Forum Staff  
モデレータ
  
 

参加日: 2007年2月
投稿数:4311
このお試しください:

コード:
awk -v day="20090605" -v serv="BSNLSERVICE1" -v val="2128" '
$1 ~ day && $4==serv && $6==val {
  s1++;a[$14]++;b[$9]++
}
END{
  print serv,val, "=" s1 "\n"
  print serv,val, a["SUCCESS"]
  print serv,val, a["SYSTEM"] "\n"
  for(i in b){print i, b[i]} 
}' file
よろしく
  #4固定リンク)  
Old 2009年6月5日
aemunathan aemunathan is offline
登録ユーザー
  
 

参加日: 2008年5月
投稿: 75
こんにちはpanyam 、フランクリン

私panyam有用な結果を与えることで、その方法を提案した。

ここに私の順番になるように要請した。

コード:
1.
awk '$4=="BSNLSERVICE1"&&$6=="2128" { count++ } END { print "BSNLSERVICE1-->2128-->" count }' 20090604*

2. 

awk '$4=="BSNLSERVICE1"&&$6=="2128"{ b[$14]++}  END {for(i in b){print i, b[i]}  }' 20090604*

3.
awk '$4=="BSNLSERVICE1"&&$6=="2128"{ b[$9]++}  END {for(i in b){print i, b[i]}  }' 20090604*
一つのことかどうか、その日のコマンドから派生することが可能ファイル名を知る必要があります。

実際に私はそれで毎晩2:00午前スケジュールを設定する必要があると私は、 dateコマンドからのファイル名を抽出する必要がある

を例に取ることができます
今夜の出力2.00午前
コード:
date +'%Y%m%d'
20090606です
私は、 Awkの一部のファイル名20090605 *のようにファイル名を与える必要がある...


フランクリンと....私はこの方法を使用
コード:
#!/usr/xpg4/bin/awk 
awk -v day="20090605" -v serv="BSNLSERVICE1" -v val="2128" '
$1 ~ day && $4==serv && $6==val {
  s1++;a[$14]++;b[$9]++
}
END{
  print serv,val, "=" s1 "\n"
  print serv,val, a["SUCCESS"]
  print serv,val, a["SYSTEM"] "\n"
  for(i in b){print i, b[i]} 
}' 200906051859
となったレスポンスとして
引用:
。 / reconcil.sh
/ usr/xpg4/bin/awk :構文エラーのコンテキスト:
> > > 。 / < < <
ū感謝
  #5固定リンク)  
Old 2009年6月5日
Franklin52 Franklin52 is online now Forum Staff  
モデレータ
  
 

参加日: 2007年2月
投稿数:4311
昨日datecalcをPerderaboの日付を取得するにはスクリプトを使用することができます。
あなたのスクリプトの名前と同じディレクトリにこのスクリプトの場所 datecalc して、実行可能ファイル:

日間2日間経過

あなたのスクリプトのように見える必要があります:

コード:
#!/bin/ksh

dat=$(./datecalc -a $(date +"%Y %m %d") - 1)

day=$(/usr/xpg4/bin/awk -v d="$dat" 'BEGIN {split(d,a," ");day=sprintf("%s%02s%02s",a[1],a[2],a[3]);print day}')

/usr/xpg4/bin/awk -v d="$day" -v serv="BSNLSERVICE1" -v val="2128" '
$1 ~ day && $4==serv && $6==val {
  s1++;a[$14]++;b[$9]++
}
END{
  print "Filename: " FILENAME "\n"
  print serv,val, "=" s1 "\n"
  print serv,val, a["SUCCESS"]
  print serv,val, a["SYSTEM"] "\n"
  for(i in b){print i, b[i]} 
}' $day*
ビット受賞/ Franklin52にこのポストに請求
日付 ユーザ コメント
2009年6月6日 aemunathan 優秀な仕事 50,000
  #6固定リンク)  
Old 2009年6月6日
aemunathan aemunathan is offline
登録ユーザー
  
 

参加日: 2008年5月
投稿: 75
やあ

おかげで多くの人...その結果を見ていい...

私は詳しい情報が必要です。実際sqlloaderのテーブルに挿入し、その結果を使用しています。ここに僕もDDは前の日に印刷して、月、年の形式

私はこの方法で試した
コード:
#!/bin/ksh

dat=$(./datecalc -a $(date +"%Y %m %d") - 1)

da_te=$(date +'%d')

da=$(($da_te-1))

mon=$(date +'%b')

year=$(date +'%Y')

host=$(hostname)

day=$(/usr/xpg4/bin/awk -v d="$dat" 'BEGIN {split(d,a," ");day=sprintf("%s%02s%02s",a[1],a[2],a[3]);print day}')

/usr/xpg4/bin/awk -v d="$day" -v serv="BSNLSERVICE1" -v val="2128"  -v daet="$(($da)-($mon)-($year))" -v ho="$host"'
$1~day && $4==serv && $6==val {
  s1++
}
END{
  print daet, host,s1 
}' $day*
私を助けて!レポートの前の日のため私は、以前の日付を使用する必要が印刷されている。
事前に感謝

編集aemunathanで最終; 2009年6月7日に 02:36午後..理由:もう一つの要件!!!!!!
Reply

ブックマーク

スレッドツール このスレッドを検索
このスレッドを検索

高度な検索
表示モード このスレッド
このスレッド

投稿ルール
あなた ことができない。 新しいスレッドを投稿
あなた ことができない。 返信の投稿
あなた ことができない。 添付ファイルの投稿
あなた ことができない。 自分の投稿を編集

BBコード なる 〜の上に
スマイリー なる 〜の上に
[イメージ] コードは 〜の上に
HTMLコードは、 オフ
トラックバック なる 〜の上に
ピングバック なる 〜の上に
Refbacks なる 〜の上に




すべてGMT -4です。現在の時刻は 09:35午前


提供: vBulletin、著作権© 2000 - 2006、Jelsoft企業株式会社。言語翻訳による電源
vBCredits v1.4著作権© 2007 - 2008 、 PixelFXスタジオ
は、 UNIXおよびLinuxフォーラムのコンテンツ著作権© 1993 〜 2009 。すべての権利を管理しReserved.Ad RedTyger

コンテンツ関連のURLで vBSEO 3.2.0