Вы должны использовать набор аргументов для охвата хоста :
В основном:
-H
для перехода на другие хосты, кроме указанных -D
, чтобы указать включаемые домены - exclude-domains
для указания исключаемых доменов Например:
wget -rH --exclude-domains flickr.com myownsite.com
Esto se puede hacer fácilmente usando sed
'sextended regex
Me sorprende que nadie haya dado respuesta usandosed
GNU sed
una línea de:
sed -r 's/([0-9]{2})\/([0-9]{2})\/([0-9]{4})/\3\1\2/' file_name
Aquí usé expresiones regulares extendidas para capturar grupos
Использование GNU date
(, но неdate -d
)и оболочки типа bash
, которая понимает подстановки процессов:
$ cat file
Data1|Data2|10/24/2017 8:10:00 AM
Data1|Data2|10/24/2017 8:10:00 AM
Data1|Data2|10/24/2017 8:10:00 AM
Data1|Data2|10/24/2017 8:10:00 AM
Data1|Data2|10/24/2017 8:10:00 AM
$ paste -d '|' <( cut -d '|' -f -2 file ) <( date -f <( cut -d '|' -f 3 file ) +'%Y%m%d %T' )
Data1|Data2|20171024 08:10:00
Data1|Data2|20171024 08:10:00
Data1|Data2|20171024 08:10:00
Data1|Data2|20171024 08:10:00
Data1|Data2|20171024 08:10:00
Вызов date
считывает даты из команды cut
, которая извлекает из заданного файла третий|
-столбец с разделителями. Он выводит одну переформатированную дату на строку ввода.
Затем он вставляется вместе с первыми двумя столбцами с помощью paste
.
Недостаток этого метода в том, что он считывает файл дважды, но вызывает date
только один раз (и без-d
).
Вы также можете сделать это с помощью dateutils
, например. со следующим вводом:
10/24/2017 8:10:00 AM
10/24/2017 8:10:00 PM
10/24/2017 8:10:00 AM
10/24/2017 8:14:00 PM
10/24/2017 8:10:00 AM
10/24/2017 8:11:00 PM
10/24/2017 8:10:06 PM
10/24/2017 8:10:00 PM
10/24/2017 8:10:50 AM
и программа dateconv
или dateutils.dconv
:
dateconv -i '%m/%d/%Y %H:%M:%S %p' -f '%Y%m%d %T' < infile
Выход:
20171024 08:10:00
20171024 20:10:00
20171024 08:10:00
20171024 20:14:00
20171024 08:10:00
20171024 20:11:00
20171024 20:10:06
20171024 20:10:00
20171024 08:10:50