Я не уверен, действительно ли эта программа нарушена нестрогим временем. Можно использовать подтверждение.
tmpwatch проверяет файлы (рекурсивно) и удаляет те, которые старше, чем произвольное время, указанное в командной строке. На странице руководства указано, что указанное время может составлять всего 1 час.
Relatime должен обновлять файлы после> 24 часов, и не только согласно документации. Этот 24-часовой интервал жестко запрограммирован в исходном коде ядра . Это не настраивается.
Для прямого обращения к 4-му столбцу используйте следующийawk
подход:
awk '{ sub(/^POS.*GINFO=/, "", $4) }1' file > new_file
$4
-указывает на 4-е поле sub(/^POS.*GINFO=/, "", $4)
-заменяет подстроку, заданную шаблоном /^POS.*GINFO=
, в 4-м поле если столбцы, которые вы имеете в виду и известны, разделены пробелом, вы можете сделать следующее:
sed -E 's/^(([^ ]* ){3})POS=.*;GINFO=/\1/' infile
Это ^(([^ ]* ){3})
совпадение начинается с начала строки ^
для чего-либо *
кроме пробела [^ ]
до первого увиденного пробела и повторяется максимально {3}
раз; Круглые скобки делают это совпадение групповым соответствием с обратной ссылкой -на \1
, которую позже мы возвращаем обратно в замещающую часть s/pattern/replace/
.
Это (...)POS=.*;GINFO=
также соответствует POS=
, за которым следует что-либо от .*
до ;GINFO
и будет удалено из вывода.
Для приведенных ниже выборочных данных:
1 10241 POS=rs960927773 POS=10241;VP=0x05;GINFO=DDX11L1:100287102;R5;ASP
1 POS=10241 rs960927773 POS=10241;VP=0x05;GINFO=DDX11L1:100287102;R5;ASP
POS=1 10241 rs960927773 POS=10241;VP=0x05;GINFO=DDX11L1:100287102;R5;ASP
Возвращает результат:
1 10241 POS=rs960927773 DDX11L1:100287102;R5;ASP
1 POS=10241 rs960927773 DDX11L1:100287102;R5;ASP
POS=1 10241 rs960927773 DDX11L1:100287102;R5;ASP
Версия POSIXly может быть:
sed 's/^\([^ ]* \)\([^ ]* \)\([^ ]* \)POS=.*;GINFO=/\1\2\3/' infile
В POSIXly sed мы можем сделать так:
sed -ne '
#place a markholder at the beginning of the 4th field
s/[^[:blank:]][[:blank:]]\{1,\}/&\
/3
# perform the sub on the 4th field
s/\nPOS=.*;GINFO=//p
' input_file