- - PR -
Cシェル作成について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-01-06 10:07
シェル作成が初心者のものです。
説明不足な点は,ご指摘願います。 ディレクトリにある,ファイル名を判断して 所定のディレクトリにmvするようなシェルを作りたいのですが, つまづいています。 やりたいと考えていることは, 実行したシェル内で ls > file_list.txt をして,ファイル名の一覧をtxtファイルにし, そのtxtファイルを読み込んでファイル名を判断して,所定のディレクトリにmvしたいのですが, 「ファイル名を読み込んで,判断する」という部分をどうすれば良いのかが わかりません。 ファイル名は,ファイルID(4桁)_年月日(8桁).dmpという形式になっており,10000件ほどあります。 例)Z001_20050101.dmp Z002_20051103.dmp Z003_20050908.dmp Z004_20051212.dmp Z005_20050519.dmp : : : ファイルの年度と月を見て,年度月別のディレクトリに移動させたいです。 同様の処理をやったことがある方は, ご教授お願い致します。 | ||||
|
投稿日時: 2006-01-06 10:43
最初に手操作をイメージする
cd そのDIR mv ????_200501??.dmp 移動先DIR/ ??の部分は 適当に 検索語 ファイル名パターン メタキャラクタ コマンド bash など ================ 検索の極意は「五木ひろしの横浜たそがれ」 テーマにヒットするキーワードを閃けるか、です。 | ||||
|
投稿日時: 2006-01-06 15:01
同様に![]() 検索語 xargs ============== しまつたこんな語で検索できるやうでは最初から解を知つてゐるのと同じではないか(なぜに古めかしい表現なのかは不明) # 一つ苦言: # sh さんが作成されたいものは「シェルスクリプト」です。 # 「シェルスクリプト」を実行する主体が「シェル」です。 # 「シェルスクリプト」を「シェル」と省略すると意味がさっぱりわからなくなったり、 # 「わかっていない奴」と鼻で笑われたりするのでご注意ください。 ## いや、本当に C-shell や bash, ksh, zsh に取って変わるようなシェルを作りたいと ## いうケースがごく稀にあるかもしれませんが。 | ||||
|
投稿日時: 2006-01-12 21:09
私もCシェル初心者ですが、以下のサンプルを作ってみました。 [sample.sh] #!/bin/csh foreach tmpfile (`cat ./list.dat`) # ファイル名から "yyyymm" を取り出し。 set tmpdir=`echo "$tmpfile" | cut -c 6-11` if ( ! -d $tmpdir ) then mkdir $tmpdir endif cp -pr $tmpfile $tmpdir/$tmpfile end exit 0 #EOF [list.dat(上記シェルの入力ファイル)] Z001_20050101.dmp Z002_20050102.dmp Z041_20060101.dmp Z071_20061101.dmp Z081_20061101.dmp Z091_20991101.dmp Z091_20991231.dmp #EOF 以上です。 参考になるかどうか分からないですが、 お役に立てれば幸いです。 |
1