0
私は自分のシナリオで1つの問題に直面しています。特定の年、すなわち2012年のファイルを見つけてファイルを空にする必要があります。以下のコマンド特定の年のすべてのファイルを見つけてBashスクリプトで空にする方法
作品完全
#!/bin/bash
find . -type f -newermt 2012-01-01 ! -newermt 2013-01-01 -exec truncate -s 0 {} \;
しかし
#!/bin/bash
find . -type f -newermt 2016-01-01 ! -newermt 2017-01-01 -exec truncate -s 0 {} \;
echo "Cleaning Complete ...."
は以下のエラーを与える
find: missing argument to `-exec'
構文や使用しているコマンドの組み合わせに問題がありますか?
上記の行は、「bash」を使って私にとって完全にうまく動作します。 – radix
ヒント:本当に '{}'と '\;'の間に空白がありますか? – radix
はい、上記のコマンドの後にもう1つのコマンドがあります。上記のエラーがスローされます。私が言っているのは 'echo"クリーニング " findです。型式f -newermt 2016-01-01! -newermt 2017-01-01 -exec truncate -s 0 {} \; 'は動作しますが、' echo "cleaning" が見つかりました。型式f -newermt 2016-01-01! -newermt 2017-01-01 -exec truncate -s 0 {} \; echo "Hello cleaned" 'は上記のエラーを出力します。私はコマンドの後に単純なエコーを置く場合、なぜこの奇妙なことが起こっているか、任意のアイデア。 – Sam