The UNIX and Linux Forums  
Helloやアメリカ合衆国へようこそ! UNIXおよびLinuxフォーラム!訪問し、当社のグローバルコミュニティに参加いただきありがとうございます。

Go Back   UNIXおよびLinuxフォーラム > トップフォーラム > シェルプログラミングとスクリプティング
Googleのunix.com



シェルプログラミングとスクリプティング KSH 、 CSH 、 shに、 bashの、はPerl 、 PHPは、削除するsed 、 Awkの、他のシェルスクリプトやシェルスクリプト言語についての質問の投稿はこちら。

その他のUNIXおよびLinuxフォーラムトピックは参考にすること
スレッド スレッドスターター フォーラム 返信 最後の投稿
どのようにパスが存在するかどうかをチェックするUNIXシェルスクリプトの中で suneelc UNIXのダミー質問と回答のため 3 2008年1月22日 08:36午前
存在し、比較したファイルをチェックするスクリプトが必要 rbknisely UNIXのダミー質問と回答のため 1 2008年1月16日 01:08午前
場合、ディレクトリ/ファイルが存在する方法を使用してç / çをチェックする+ + steven88 高レベルのプログラミング 2 2006年1月3日 02:55午前
場合、ディレクトリ/ファイルが存在する方法を使用してç / çをチェックする+ + steven88 シェルプログラミングとスクリプティング 1 2006年1月2日 10:45午後
ファイルが存在するかどうかを確認する方法? gusla UNIXのダミー質問と回答のため 3 2002年3月27日 10:56午後

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek を搭載 Powered by Google
 
LinkBack スレッドツール このスレッドを検索 スレッドを評価 表示モード
  #1固定リンク)  
Old 2006年11月12日
heprox heprox is offline
登録ユーザー
  
 

参加日: 2005年7月
投稿: 32
Question ファイルをチェックするためのシェルスクリプトを別のファイルを処理する前に存在する

私は、それを他のスクリプトの一連のプロセスを介してファイルのすべての時間の特定の種類のファイルを実行するシェルスクリプトを探している。このスクリプトのディレクトリを見ていることをSFTP経由でファイルをアップロードしている。すでに確認する前に処理が開始されないようにしてもアップロードするファイルのサイズをチェックします。私を処理する前に別のファイルの存在を探しますで始まるスクリプトの別の場所を確認したいと思います。このスクリプトのようになります:

コード:
#!/bin/ksh
PATH=/gers/nurev/menu/pub/sbin:/gers/nurev/menu/pub/bin:/gers/nurev/menu/pub/mac
:/gers/nurev/menu/adm/sbin:/gers/nurev/menu/adm/bin:/gers/nurev/menu/adm/mac:/ge
rs/nurev/custom:/gers/nurev/fix:/gers/nurev/src_rev/fix:/gers/nurev/opt/path:/ge
rs/nurev/bin:/g/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/sbin:.
ORACLE_HOME=/gers/nurev
ORACLE_SID=nurev
export PATH
export ORACLE_HOME
export ORACLE_SID
 
#
# Function : is_file_arrived file
# Arg(s)   : file = file to verify
# Output   : None
# Status   : 0 = yes file arrived, 1 = no
# Env.     : IFA_WAIT : interval (secs) for file size check (def=5)
#
 
is_file_arrived() {
   [ -z "$1" ] && return 1
   local file=$1
   local arrived=1
   local size1 size2
   if [ -f "$file" -a -z "$(fuser $file 2> /dev/null)" ] ; then
      size1=$(ls -l $file 2>/dev/null | awk '{print $5}')
      sleep ${IFA_WAIT:-15}
      size2=$(ls -l $file 2>/dev/null | awk '{print $5}')
      [ ${size1:-1} -eq ${size2:-2} ] && arrived=0
   fi
   return $arrived
}
 
 
processFile ()
{
   local fileName=$1
   local fileExtension=$2
   local fileNewName="/gers/nurev/datafiles/str${fileExtension}.asc"
   local filePrintPath="/gers/nurev/print"
   local fileTmpPath="/gers/nurev/tmp"
   local fileODIName="str${fileExtension}.pos"
   mv -Eignore $fileName $fileNewName     
   prepup $fileNewName $fileExtension
   mv -Eignore  $filePrintPath/$fileODIName $fileTmpPath/$fileODIName
   save2tmp $fileExtension
   call_siu $fileExtension
}
 
# Main Processing
 
nsec=1
while [[ "$(date +%H%M)" -lt 2329 ]]
do
   for fileName in /gers/nurev/datafiles/[Uu][Pp][Ll][Oo][Aa][Dd].[0-9][0-9][0-9
][0-9]
   do
      fileExtension=${fileName#*.}
      is_file_arrived "$fileName" && nsec=1 && processFile $fileName $fileExtension
   done
   sleep $nsec
   case $nsec in
      1)   nsec=15;;
      15)  nsec=45;;
      45)  nsec=90;;
      90)  nsec=300;;
      300) nsec=600;;
      600) nsec=900;;
      *)   nsec=1800;;
   esac
done
...私は、ファイルをチェックしたいのですが/ジェール/ genretを/ tmp / poll_ ####.テキスト( "####"は$ fileExtension変数です。私は、ファイルのチェックがされるべきだと思う"メイン処理"に記載している" "機能is_file_arrivedにファイルを送信するかI'fは" poll_ ####.テキスト"私は、次のファイルに移動し、希望を見て、スクリプトファイルが存在するそれを再度保存し、これが同時に同じタイプの2つのファイルの処理を妨げることになる。私のような"何かを考えている場合、次に" ?
  #2固定リンク)  
Old 2006年11月13日
aigles's Avatar
aigles aigles is offline Forum Advisor  
登録ユーザー
  
 

参加日: 2004年4月
場所:ボルドー、フランス
投稿数:1420
このような処理を行なうことができます:
コード:
   for fileName in /gers/nurev/datafiles/[Uu][Pp][Ll][Oo][Aa][Dd].[0-9][0-9][0-9
][0-9]
   do
      fileExtension=${fileName#*.}
      [[ -a /gers/genret/tmp/poll_$fileExtension.txt  ]] && continue
      is_file_arrived "$fileName" && nsec=1 &&       processFile $fileName $fileExtension
   done
ジャン\u003dピエール。
  #3固定リンク)  
Old 2006年11月13日
heprox heprox is offline
登録ユーザー
  
 

参加日: 2005年7月
投稿: 32
あなたが私を失った....

ので、どのように"を"仕事と自分の無知を許しなさいブラケット?

コード:
[[ -a /gers/genret/tmp/poll_$fileExtension.txt  ]] && continue
...それはファイル"をチェックするpoll_ "と停止して移動する場合は、そこには、次のファイルが見つかりましたか?私は困惑しているどのように動作するか?
  #4固定リンク)  
Old 2006年11月14日
aigles's Avatar
aigles aigles is offline Forum Advisor  
登録ユーザー
  
 

参加日: 2004年4月
場所:ボルドー、フランス
投稿数:1420
次のコードは同等です:
コード:
if [[ -a /gers/genret/tmp/poll_$fileExtension.txt  ]]
then
   continue
fi
もし、ファイルが存在するpooll_し、 ( )次のファイルを進めるためのループの処理を再開する。


ジャン\u003dピエール。
Closed Thread

ブックマーク

スレッドツール このスレッドを検索
このスレッドを検索

高度な検索
表示モード このスレッド
このスレッド

投稿ルール
あなた ことができない。 新しいスレッドを投稿
あなた ことができない。 返信の投稿
あなた ことができない。 添付ファイルの投稿
あなた ことができない。 自分の投稿を編集

BBコード なる 〜の上に
スマイリー なる 〜の上に
[イメージ] コードは 〜の上に
HTMLコードは、 オフ
トラックバック なる 〜の上に
ピングバック なる 〜の上に
Refbacks なる 〜の上に




すべてGMT -4です。現在の時刻は 09:59午後


提供: vBulletin、著作権© 2000 - 2006、Jelsoft企業株式会社。言語翻訳による電源
vBCredits v1.4著作権© 2007 - 2008 、 PixelFXスタジオ
は、 UNIXおよびLinuxフォーラムのコンテンツ著作権© 1993 〜 2009 。すべての権利を管理しReserved.Ad RedTyger

コンテンツ関連のURLで vBSEO 3.2.0