![]() |
|
|
Googleのunix.com
|
|||||||
| UNIXのダミー質問と回答のため もしUNIXやLinuxについての質問があれば、ここに投稿してください。すべてのUNIXおよびLinux初心者歓迎! |
その他のUNIXおよびLinuxフォーラムトピックは参考にすること
|
||||
| スレッド | スレッドスターター | フォーラム | 返信 | 最後の投稿 |
| スクリプトをファイルにして、不良ファイル内のレコードをかけるに不正なレコードを検索する | shilendrajadon | シェルプログラミングとスクリプティング | 2 | 2007年12月28日 10:02午前 |
| スクリプトをファイルにして、不良ファイル内のレコードをかけるに不正なレコードを検索する | shilendrajadon | UNIXの詳細&エキスパートのためのユーザー | 1 | 2007年12月28日 午前10時 |
| 分裂を記録し、ファイルにレコードを追加する | rsolap | シェルプログラミングとスクリプティング | 1 | 2007年8月13日 02:58午後 |
| ファイルからレコードを読む | koti_rama | シェルプログラミングとスクリプティング | 3 | 2007年8月8日 02:02午前 |
| どのようにUnixのファイルからレコードを除外する | Ryan2786 | UNIXのダミー質問と回答のため | 1 | 2007年6月27日 03:16午後 |
![]() |
|
|
LinkBack | スレッドツール | このスレッドを検索 | スレッドを評価 | 表示モード |
|
|
|
||||
|
こんにちはみんな、
私ヘッダー(高) 、ディテール(営)とトレーラーのfile.My問題で(継)の情報が含まれている次のformat.Thisでは大きなファイルがある私は14番目と15番目で文字を" 6h "を検索する必要がありますすべてのレコードの位置が、それが私は、ヘッダーとトレーラーとトレーラーの最後の9つの数字と一緒に別々のファイルのどれかに助けをdetaied records.canのカウントindiacateすべきすべてのレコードを記述する必要ですこの方法を達成するために?基本的に私はUnixのシェルスクリプトに新しいです。 ファイル形式は以下の通りです HBM6303000000000200805060940412008050609404120080506SCITS 8.2 D6303200805066HJ8164 - 61002 EURO6303I0073554514 0017992008031120080430HP00DD00Hewlett - Packardのピーティーイー公司12.000 2008 0502 0000000509.3900UDNB USDEA 00001EA 00022797990001 00000120080226 0073554514 6303 N101 HP00DD00 20080503 00022797990001 sgを組み込む D6303200805066HJ8164 - 61002 EURO6303I0073554514 0018052008031120080430HP00DD00Hewlett - Packardのピーティーイー公司16.000 2008 0502 0000000509.3900UDNB USDEA 00001EA 00022798050001 00000120080226 0073554514 6303 N101 HP00DD00 20080503 00022798050001 sgを組み込む D6303200805066HJ8164 - 61002 EURO6303I0073554514 0018142008031120080430HP00DD00Hewlett - Packardのピーティーイー公司16.000 2008 0502 0000000509.3900UDNB USDEA 00001EA 00022798140001 00000120080226 0073554514 6303 N101 HP00DD00 20080503 00022798140001 sgを組み込む D6303200805066HJ8164 - 61002 EURO6303I0073554514 0018092008031120080430HP00DD00Hewlett - Packardのピーティーイー公司16.000 2008 0502 0000000509.3900UDNB USDEA 00001EA 00022798090001 00000120080226 0073554514 6303 N101 HP00DD00 20080503 00022798090001 sgを組み込む TBM630300000000020080506094041000003818 advancedthanks ナラシマ。 |
|
||||
|
コード:
awk '/^H/ { h=$0; next }
/^T/ { if (p) print; p=0; next }
substr($0,14,2) == "6h" { if (h) print h; if (d) print d; print; h = d = ""; p=1; next }
{ h = d = ""; p=0; }' file
この修正をテストする場合は、 1つの例では、それを知るのは難しい。どうやら、すべてのエントリでは、 Dライン"が6H " ( " 6h " ) ? |