![]() |
|
|
Googleのunix.com
|
|||||||
| シェルプログラミングとスクリプティング KSH 、 CSH 、 shに、 bashの、はPerl 、 PHPは、削除するsed 、 Awkの、他のシェルスクリプトやシェルスクリプト言語についての質問の投稿はこちら。 |
その他のUNIXおよびLinuxフォーラムトピックは参考にすること
|
||||
| スレッド | スレッドスターター | フォーラム | 返信 | 最後の投稿 |
| 列の値に基づいてファイルの重複行を削除する | risk_sly | UNIXのダミー質問と回答のため | 7 | 2008年9月26日 07:26午前 |
| 行を列に変換する | cdfd123 | シェルプログラミングとスクリプティング | 3 | 2008年1月11日 12:54午後 |
| フラットファイルの列を検索 | jambesh | シェルプログラミングとスクリプティング | 5 | 2006年9月18日 06:44午前 |
| いくつかの行を列に因数分解 | frebo | UNIXのダミー質問と回答のため | 5 | 2006年3月21日 06:41午前 |
| フラットファイルにファイルを変換するピボット | vskr72 | シェルプログラミングとスクリプティング | 2 | 2005年10月18日 05:41午後 |
![]() |
|
|
LinkBack | スレッドツール | このスレッドを検索 | スレッドを評価 | 表示モード |
|
|
|
||||
|
は、フラットファイルに変換する列に列
やあ、
リクエストは、次の要件のためのシェルプログラムを書面で私ガイド: 例:入力ファイルの場合は、以下のデータが含まれて 入力ファイルのデータ: 80723240029,12,323,443,88,98,7,98,67,87 80723240030,12,56,6 、 、 、 3,12,56,6,7,2,3,12,56,6,7,2,3,88,98,7,98,67,87 80723240031,56,57 、 dの88,98,7,98,67,87,88,98,7,98,67,87 80723250032,45 、水銀、 3 背景:後、最初の列ごとに6列を1つの最初の列として認識されているsetandのレコードを識別するための鍵となります。 私としては、データを変換する必要があります以下の通り: 出力ファイルのデータ: 80723240029,12,323,443,88,98,7 80723240029,98,67,87 80723240030,12,56,6 、 、 、 3 80723240030,12,56,6,7,2,3 80723240030,12,56,6,7,2,3 80723240030,88,98,7,98,67,87 80723240031,56,57 、エ、 88,98,7 80723240031,98,67,87,88,98,7 80723240031,98,67,87 80723250032,45 、水銀、 3 事前のおかげで、 Srinivas氏 編集srinikalで最終; 2008年10月10日に 05:20午前..理由:電子メールアドレスを削除 |
|
||||
|
として私は、を使用して問題を理解する Perlの (と私はあなたの望みを与えると考えているあなたのサンプルデータ) 。
# ! / usr / binに/perlの 私のフィールド@ ; 私の開催@ ; 私の$ key1 ; 私の$のX ; 私の$私; オープン入力、 " < file6 " ; 出力を開き、 " > " outfile ; ( <INPUT> )は、 ( ムシャムシャ食う; @フィールド\u003d分割/ 、 / 、 $ _ ; $ key1 \u003d $フィールド[ 0 ] ; フィールド@シフト; は( ( ) ) $フィールド[ 0 ]定義 ( 私\u003d 1 ( $ ; $私< 7 ; $私+ + ) ( 場合( ( ) ) $フィールド[ 0 ]定義 ( $ホールド[ $私] \u003d $フィールド[ 0 ] ; フィールド@シフト; ) その他の ( 最後の; ) ) $のX \u003d "ホールド" 、 @参加; $ array1 ( $ key1 ) \u003d $のX ; 印刷出力を" $ key1 $ array1 ( $ key1 ) \ Ñ " ; @ホールド\u003d ( ) ; ) ) 近い入力; 近い出力; |