1

次のように始まるファイルcache.mdがあります。

# 2012-05-09.8271
CACHE MANIFEST

CACHE:
/index.html

シェル スクリプト (OS X Lion で Automator を使用) を作成して、最初の行を置き換え、テキスト (ハッシュの後) を今日の日付、ドット、および乱数に変更しようとしています。

これは私がこれまでに持っているbashスクリプトですが、何もしません。

_now=$(date +"%Y-%m-%d")
_rand=$RANDOM
sed -i '' '1 s/[\d\-\.]+/$_now.$_rand/' ~/Desktop/cache.mf
4

3 に答える 3

3

次のsedコマンドを使用します。

sed -i '' '1 s/^#.*$/'"# $_now.$_rand"'/' ~/Desktop/cache.mf
于 2012-05-09T21:58:28.520 に答える
1

どうぞ:

_now=$(date +"%Y-%m-%d")
_rand=$RANDOM
sed -i -e "s/# [0-9]\+-[0-9]\+-[0-9]\+.[0-9]\+/\# $_now.$_rand/" ~/Desktop/cache.mf
于 2012-05-09T21:50:06.203 に答える
1

-e を sed 式から外したようです!

sed 式自体はチェックしていませんが、基本的な問題は、-e オプションを使用して sed 式を識別する必要があることです。

sed -i '' -e '1 s/[\d\-\.]+/$_now.$_rand/' ~/Desktop/cache.mf
于 2012-05-09T21:37:46.643 に答える