我有一个文件, cache.md ,就像这样开始:
# 2012-05-09.8271
CACHE MANIFEST
CACHE:
/index.html
我正在尝试编写一个shell脚本(在OS X Lion中使用Automator)来替换第一行并将文本(在哈希之后)更改为今天的日期,一个点和一个随机数。
这是我到目前为止的bash脚本,但它没有做任何事情。
_now=$(date +"%Y-%m-%d")
_rand=$RANDOM
sed -i '' '1 s/[\d\-\.]+/$_now.$_rand/' ~/Desktop/cache.mf
答案 0 :(得分:3)
使用此sed命令:
sed -i '' '1 s/^#.*$/'"# $_now.$_rand"'/' ~/Desktop/cache.mf
答案 1 :(得分:1)
看起来你离开了sed表达式!
我没有检查你的sed表达式本身,但基本问题是你需要用-e选项识别你的sed表达式:
sed -i '' -e '1 s/[\d\-\.]+/$_now.$_rand/' ~/Desktop/cache.mf
答案 2 :(得分: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