На Fedora 201, может быть, у вас ошибка, или, как подсказывает mpromonet, архив доступен только для чтения:
[root@f20 ~]# tar czf /tmp/ul137194.tar.gz -C / /etc/passwd /etc/group /etc/shells
tar: Removing leading `/' from member names
[root@f20 ~]# mkdir /tmp/ul137194
[root@f20 ~]# archivemount /tmp/ul137194.tar.gz /tmp/ul137194
[root@f20 ~]# find /tmp/ul137194
/tmp/ul137194
/tmp/ul137194/etc
/tmp/ul137194/etc/passwd
/tmp/ul137194/etc/group
/tmp/ul137194/etc/shells
[root@f20 ~]# rm /tmp/ul137194/etc/shells
rm: remove regular file ‘/tmp/ul137194/etc/shells’? y
[root@f20 ~]# echo nogroups > /tmp/ul137194/etc/group
[root@f20 ~]# umount /tmp/ul137194
[root@f20 ~]# tar xzf /tmp/ul137194.tar.gz -C /tmp/ul137194
[root@f20 ~]# find /tmp/ul137194
/tmp/ul137194
/tmp/ul137194/etc
/tmp/ul137194/etc/group
/tmp/ul137194/etc/passwd
[root@f20 ~]# cat /tmp/ul137194/etc/group
nogroups
1archivemount-0.8.1-2.fc20.x86_64, libarchive-3.1.2-7.fc20.x86_64, fuse-2.9.3-2.fc20. x86_64
Вам, вероятно, лучше всего написать сценарий. Этот сценарий не является надежным (не проверяет наличие пустых строк, не учитывает желаемый заголовок в нескольких строках и т. Д.), Но он может помочь вам начать работу. Сделайте резервную копию , прежде чем вы начнете делать что-нибудь безумное.
#! /bin/bash
FILES="./*.html"
for f in $FILES
do
grep '.*org-document-title">.*' $f |\
sed -e 's/.*org-document-title">\([^<]\+\).*/\n\1/g' |\
tail -n 1 |\
xargs -I new_title sed -i.bak 's/<title>[^>]\+<\/title>/<title>new_title<\/title>/g' $f
done
Это только заменяет заголовок новым желаемым мной заголовком
. Вы можете расширить, выполнив еще один проход и избавившись от нежелательных элементов span
.