2017-01-05 12 views
0

これで、dateコマンドを使用してscrpitをwcファイルに書き込もうとしています。たとえば、ファイルの形式は次のようになります。testfile20170104.gz日付コマンドを使用したUnixシェルスクリプティング

ファイルは、昨日の日付がyyyymmddの形式に設定されています。したがって、今日の1/5/2017の場合、ファイルは上記の例のように、yyyymmdd形式の前日の1/4/2017になります。

通常、ファイルの数をカウントするには、単に単語の数を取得するにはgzcat testfile20170104.gz | wc -lと入力するだけです。

しかし私がしたいのは、コマンドラインでファイル名をコピーして貼り付ける代わりに、gzcatというファイルをコピーするスクリプトやforループを実行することです。私はdateコマンドを使って昨日yyyymmddという形式のファイル名の日付。したがって、このようなテンプレートなものとして

:|トイレ-l

gzcatのテストファイル* .gzを|日付= " - 1日" +%Y%m%d

今私は上記の内容が完全に間違っていることを知っていますが、あなたはその写真を手に入れます。私は '*'を日付コマンドの出力に置き換えたいと思うのですが...

何か助けていただければ幸いです!

ありがとうございます!

答えて

0

あなたがしたい:この作品

filename="testfile$(date -d yesterday +%Y%m%d).gz" 
zcat "$filename" 
+0

感謝を!感謝します。 –

+0

私はこれをshスクリプトの代わりにforループで実装したいと思っていますか?... –

+0

申し訳ありません、何ですか?非sh for-loop?例えば、 –

関連する問題