В:
sed "s/PATTERN/`cat replacement.txt`/g" "openfile.txt"
'
и "
не должно быть проблем. Они не являются специальными для sed
. Что должно быть проблемой, так это и
, \
, /
и newline. Вы можете избежать их с помощью другой команды sed
:
sed "s/PATTERN/$(sed 's@[/\&]@\\&@g;$!s/$/\\/' replacement.txt)/g" openfile.txt
Обратите внимание, что она удаляет символы новой строки в файле replace.txt
. Если вы этого не хотите, вы можете сделать
replacement=$(sed 's@[/\&]@\\&@g;s/$/\\/' replacement.txt; echo .)
replacement=${replacement%.}
sed "s/PATTERN/$replacement/g" openfile.txt
Мы настроили FlashCache, чтобы списать назад. Мы видим, что грязные блоки разрываются до нескольких десятков тысяч, но он быстро работает до нескольких тысяч или даже несколько сотен, когда все успокоится. Вот наши настройки:
dev.flashcache.sdb1+md0p3.cache_all=1
dev.flashcache.sdb1+md0p3.clean_on_read_miss=0
dev.flashcache.sdb1+md0p3.clean_on_write_miss=0
dev.flashcache.sdb1+md0p3.dirty_thresh_pct=10
dev.flashcache.sdb1+md0p3.do_pid_expiry=0
dev.flashcache.sdb1+md0p3.do_sync=1
dev.flashcache.sdb1+md0p3.fallow_clean_speed=100
dev.flashcache.sdb1+md0p3.fallow_delay=1
dev.flashcache.sdb1+md0p3.fast_remove=1
dev.flashcache.sdb1+md0p3.io_latency_hist=0
dev.flashcache.sdb1+md0p3.lru_hot_pct=75
dev.flashcache.sdb1+md0p3.lru_promote_thresh=2
dev.flashcache.sdb1+md0p3.max_clean_ios_set=300
dev.flashcache.sdb1+md0p3.max_clean_ios_total=2000
dev.flashcache.sdb1+md0p3.max_pids=100
dev.flashcache.sdb1+md0p3.new_style_write_merge=0
dev.flashcache.sdb1+md0p3.pid_expiry_secs=60
dev.flashcache.sdb1+md0p3.reclaim_policy=0
dev.flashcache.sdb1+md0p3.skip_seq_thresh_kb=0
dev.flashcache.sdb1+md0p3.stop_sync=0
dev.flashcache.sdb1+md0p3.zero_stats=0