バッククォートを使えば、いろんなコマンドを内部で実行できます。
$ echo Date:`date +%y%m%d` Date:140224
これはsedでも実行可能です
$ ruby -e "puts ('a'..'x').map {|i| i*3 + i.next * 3 + i.next.next * 3}" > hoge.txt
で生成したデータhoge.txtに対して
$ sed -e "s/eee/`date +%y%m%d`/g" hoge.txt | grep -1 `date +%y%m%d` bbbcccddd cccddd140224 ddd140224fff 140224fffggg fffggghhh
ところが...これをpwdのようなバックスラッシュを含むコマンドでやるとクラッシュします。
$ sed -e "s/eee/`pwd`/g" hoge.txt sed: -e 表現 #1, 文字数 8: 「s」へのオプションが未知です
これは区切り文字を変更することで対応可能です
$ sed -e "s|eee|`pwd`|g" hoge.txt | grep -3e "`pwd`" aaabbbccc bbbcccddd cccddd/cygdrive/c/Documents and Settings/Lab ddd/cygdrive/c/Documents and Settings/Labfff /cygdrive/c/Documents and Settings/Labfffggg fffggghhh ggghhhiii hhhiiijjj
区切り文字は他に
- ?
- :
- @
等々が使えるようです