> awk -v OFS="'^'" -F"'\\\\^'" '{if(length($2)>20) $2=substr($2,1,20); print;}' file
'XYZ843141'^'ASDFSAFXYVFSHGDSDg s'^'BAAAR'^'YYY'^'..... and so on, further columns
'YYZ814384'^'ASfdEtRiuognfnseaFRE'^'foooobaaar'^'ZZZ'^'..... and so on, further columns
. Так как вы перечислили /var/cache
в /etc/fstab
, файловая система tmpfs монтируется в /var/cache
во время последовательности загрузки. Любое содержимое /var/cache
затеняется точкой монтирования. Файлы под каталогом, на который монтируется другая файловая система, всё ещё существуют, но они не могут быть доступны, так как путь типа /var/cache/foo
идёт в другую файловую систему.
Для получения дополнительной информации о расхождениях между df
и du
смотрите Почему существует так много различных способов измерения использования диска?
В Linux, вы можете раскрыть теневое содержимое /var/cache
, создав bind mount из /var
. Вы можете использовать это для удаления старых файлов кэша, которые вы больше не используете:
mount --bind /var /mnt
rm -r /mnt/cache/*
umount /mnt
Я не уверен, что вы имеете в виду под /run
, но обратите внимание, что каждый раз, когда вы монтируете файловую систему tmpfs, вы получаете отдельную файловую систему. Так что /run
и /var/cache
не связаны друг с другом, файл из одной файловой системы не может появиться в другой. Это две файловые системы, которые случайно предоставляются одним и тем же драйвером.
Монтирование скрывает или затеняет все, что уже присутствует в данном каталоге (это может вызвать забавные проблемы, если права в затененном таким образом каталоге неверны). Таким образом, когда монтирование tmpfs будет удалено, исходный материал останется. (Если необходимо сохранить кеш, вы можете mv / var / cache /var/cache.save, а затем выполнить rsync после первого монтирования tmpfs и до его размонтирования, но это еще больше усложняет ситуацию.)
{ {1}}