![]() |
Helloやアメリカ合衆国へようこそ! UNIXおよびLinuxフォーラム!訪問し、当社のグローバルコミュニティに参加いただきありがとうございます。
|
|
Googleのunix.com
|
|||||||
| シェルプログラミングとスクリプティング KSH 、 CSH 、 shに、 bashの、はPerl 、 PHPは、削除するsed 、 Awkの、他のシェルスクリプトやシェルスクリプト言語についての質問の投稿はこちら。 |
その他のUNIXおよびLinuxフォーラムトピックは参考にすること
|
||||
| スレッド | スレッドスターター | フォーラム | 返信 | 最後の投稿 |
| カンマ区切りのファイルから削除するフィールドの間に空白 | nitinbjoshi | UNIXのダミー質問と回答のため | 2 | 2008年6月14日 09:14午前 |
| XMLでパースする文字列をシェルスクリプトを使用してファイルを | ayhanne | シェルプログラミングとスクリプティング | 46 | 2008年1月9日 12:33午後 |
| 多くのファイルとプリンタの内容は、シェルスクリプトを使用してファイルを検索 | cdfd123 | シェルプログラミングとスクリプティング | 3 | 2007年10月7日 11:17午後 |
| シェルスクリプトをどのように変数を外部ファイルから設定ファイルをパースする | pradsh | シェルプログラミングとスクリプティング | 2 | 2007年7月9日 03:21午後 |
| カンマ区切りの値を配列に分割する | tmarikle | シェルプログラミングとスクリプティング | 3 | 2005年6月24日 06:50午後 |
![]() |
|
|
LinkBack | スレッドツール | このスレッドを検索 | スレッドを評価 | 表示モード |
|
|
|
||||
|
Unixシェルスクリプトの内容をカンマ区切りファイルを解析する
親愛なるすべて、
私は、カンマ区切りのファイルがあります。 1 。 4カンマ( 5フィールド)が必要(ヘッダ)ファイルの最初の行。 2 。ファイルの最後の行1カンマ( 2フィールド)があるはずです。 Plsのシェルスクリプトの中でこの状態のチェックに私に役立ちます。 と最初の行と、ファイルの最後の行の間の行数は、最初と最後の行の最後のフィールドと一致する必要があります。 つまり、最初と最後の行数がウィルの最後のフィールドには、ファイルの行番号) ( -2と一致するはずです。 これで私を助けPls 。 サンプルファイル: QDB_2008.txt 1.1,20070427151500,99567,99669,0009 00001,20070427,00567,6012345671,2081 、私は 00002,20070427,00568,6012345672,2054 、私は 00003,20070427,00569,6012345673,2063 、私は 00004,20070427,00570,6012345674,2081 、エ 00005,20070427,00571,6012345675,2054 、エ 00006,20070427,00572,6012345676,2063 、エ 00007,20070427,00573,6012345677,2081 、 ū 00008,20070427,00574,6012345678,2054 、 ū 00009,20070427,00575,6012345679,2063 、 ū 101.1.0,0009 # よろしく、 クリシュナ |
|
||||
|
コード:
awk -F, '
NR==1 { expect=$NF; fields=NF; last=0 }
NF != fields { last=NR;
if (NR != 2) print NR ": wrong number of fields: " $0;
if ($NF != expect) print NR ": last field value not the same as on first line"
if ($NF != NR-2) print NR ": last field not equal to line count minus two"
if ($NF != expect) print NR ": line count from first line not identical"
}
last > 0 && NR > last { print NR ": wrong number of fields: " $0 }' QDB_2008.txt
|