![]() |
|
|
Googleのunix.com
|
|||||||
| シェルプログラミングとスクリプティング KSH 、 CSH 、 shに、 bashの、はPerl 、 PHPは、削除するsed 、 Awkの、他のシェルスクリプトやシェルスクリプト言語についての質問の投稿はこちら。 |
その他のUNIXおよびLinuxフォーラムトピックは参考にすること
|
||||
| スレッド | スレッドスターター | フォーラム | 返信 | 最後の投稿 |
| でXMLパースエラーはperl | bishweshwar | UNIXの詳細&エキスパートのためのユーザー | 1 | 2007年5月30日 午後11時59分 |
| PERLをしてHTMLを解析 | avik1983 | シェルプログラミングとスクリプティング | 3 | 2007年2月23日 09:25午前 |
| 解析して、変数の値を取得 | Rekha | シェルプログラミングとスクリプティング | 3 | 2006年8月1日 11:39午前 |
| のPERL -解析Crystal Reportsの | srinivay | シェルプログラミングとスクリプティング | 0 | 2005年5月12日 08:55午前 |
| bashの変換にはPerlのスクリプトを解析? | cstovall | シェルプログラミングとスクリプティング | 2 | 2004年10月13日 11:33午後 |
![]() |
|
|
LinkBack | スレッドツール | このスレッドを検索 | スレッドを評価 | 表示モード |
|
|
|
||||
|
Perlの:変数のパース
私は以下のスクリプトがある: コード:
#!/usr/bin/perl -w
@files = <*.csv>;
foreach $file (@files) {
open(FH, $file);
my @dt = split(/_|.csv/, $file);
while (<FH>) {
chomp;
print $dt[1] . $dt[2] . ",$_\n";
}
close(FH);
}
このスクリプトでは、現在のディレクトリ内のすべてのcsvファイルの読み込み、画面には、日付、時間、完全な内容が印刷されます。 ファイル名の名前、日付、時間と接尾辞の"構成されています。 csvファイル" 。つまり、ファイル名がfoo_20080909_120345.csv これを実行時には、 @ dt配列を保持: - $ dt [ 0 ] \u003d " foo "を - $ dt [ 1 ] \u003d 20080909 - $ dt [ 2 ] \u003d 120345 ライン9だから( dt [ 2 dt [ 1 ] 。 $ $印刷] " 、 $ _ \ Ñ " )の利回りは以下の行: レコードの" 20080909 120345 ,[...残り...]" 収量が必要: 記録の" 2008年9月9日12時〇三分45秒,[...残り...]" どうすればダッシュ("-")とコロンのような人為的コードを使用せずに正しい場所で(":")を入力してください: substr ( $ dt [ 1 ] 、 0 、 4 ) 。 " - " 。 substr ( $ dt [ 1 ] 、 4 、 2 ) 。 " - " 。 substr ( $ dt [ 1 ] 、 6 、 2 ) その日のためだけにしています。 事前に感謝 |
|
||||
|
ここに私のファイルです: コード:
bar_20081009_113023.csv foo_20080909_120345.csv munge_20061231_010020.csv ここには、スクリプトの: コード:
#!/usr/bin/perl -w
@files = <*.csv>;
foreach $file (@files) {
open(FH, $file);
my @dt = ($file =~ /^(\w+)_(\d{4})(\d{2})(\d{2})_(\d{2})(\d{2})(\d{2})\.csv$/);
while (<FH>) {
chomp;
print "$dt[1]-$dt[2]-$dt[3] $dt[4]:$dt[5]:$dt[6],$_\n";
}
close(FH);
}
ここには、出力: コード:
# ./test.pl 2008-10-09 11:30:23,bar1 2008-10-09 11:30:23,bar2 2008-09-09 12:03:45,foo1 2008-09-09 12:03:45,foo2 2006-12-31 01:00:20,munge1 2006-12-31 01:00:20,munge2 私はそれが少しはきれいにできることを確認しています。私は非常に良好ではない perlの
|