• ベストアンサー

Shell Script 説明お願いします

2つあります。 1. FILENAME=`echo $FILE | $SED -e \'s/\\.tif//\' -e \'s/recvq\\///\'` 2. ls -ltr $FILES 2>/dev/null | awk \'{ printf(\"%s_%s_%s_%s\", $6, $7, $8, ++i) >file system mv $9 $file) }\' です。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ppg-2
  • ベストアンサー率39% (77/193)
回答No.1

1)FILENAME変数において文字列”xxx.tif”を”xxx”へ、文字列”recvq”をブランクへ編集している。 2)$FILES変数のファイルのファイル名を何らかのファイル名に変更している(UNIX機がないため定かではないが日付あたりが入っていそう?)

その他の回答 (1)

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.2

2.のawkの部分なんですけど、写し間違いとかないですか? system mv $9 $file) は開きガッコがないし、多分ダブルクォートも抜けている。 で、Perlと違って$変数は、フィールドへのアクセスですから systemの引数を正しくしたとしても、第9フィールドの値を名に持つ ファイルをfile番目のフィールドの値を名にするようにリネーム(もしくは移動) ということになってしまいます。 そもそも printf の出力をファイルに書き出していますが、変数(file)の設定を していないので、せっかくの出力は多分 '0' という名前のファイルに書かれる ことになります(未確認)。

関連するQ&A