Как я могу извлечь годы рождения из дат рождения в linux

Как вы пытаетесь получить доступ к этому серверу? По умолчанию в Linux mint отключен ssh . Фактически, я думаю, что ICMP - это единственное, на что он будет реагировать из коробки. Вам нужно будет установить ssh-сервер и включить его, если вы хотите использовать ssh. Точно так же, если вы хотите подключиться через 80 или 443, вам нужно будет установить http-сервер и включить его. Поскольку вы не указали, как вы подключаетесь (telnet? Ssh? Http? Ftp? Nfs? Samba? Smpt? Список длинный ...), я не могу вам помочь. Вы также указываете, что он находится в DMZ. Ваши правила входящего трафика для сервера такие же, как и для хоста Windows?

Вы можете найти подробные инструкции по установке и запуску ssh / etc для Mint в Интернете, если вы не установили и не запустили службу, чтобы узнать, как вы хотите подключиться .

1
24.11.2016, 08:36
5 ответов

Я не знаю о awk, но этот sed работает:

sed -E 's/dates/years/;s/[0-9]{2}-[0-9]{2}-//g' birthdates 
id  birthyears  pref
Koe 1992  nep
Ler 2000  sis

Если важно аккуратно выровнять столбцы, сделайте:

sed -E 's/dates/years/;s/[0-9]{2}-[0-9]{2}-([0-9]{4})/\1      /g' birthdates 
id  birthyears  pref
Koe 1992        nep
Ler 2000        sis


Где birthdates находится этот файл:

id  birthdates  pref
Koe 22-10-1992  nep
Ler 10-04-2000  sis

sed --version
sed (GNU sed) 4.2.2
2
27.01.2020, 23:25

Следующий код должен работать:

sed 's/birthdates/birthyears/g; s/[0-9]\{1,2\}-[0-9]\{1,2\}-\([0-9]\{4\}\)/\1/g' < myfile.txt > output.txt

Пример:

ron@ron:~$ cat myfile.txt 
id  birthdates  pref
Koe 22-10-1992  nep
Ler 10-04-2000  sis
ron@ron:~$ sed 's/birthdates/birthyears/g; s/[0-9]\{1,2\}-[0-9]\{1,2\}-\([0-9]\{4\}\)/\1/g' < myfile.txt > output.txt 
ron@ron:~$ cat output.txt 
id  birthyears  pref
Koe 1992  nep
Ler 2000  sis
0
27.01.2020, 23:25

С awk :

awk '{if (NR==1) {print $0} else {split($2,result,"-"); print $1 " " result[3] " " $3}}' birthdates
1
27.01.2020, 23:25
awk '{print $1,$2,$(NF-1),$NF}' FS="[ -]" inputfile
0
27.01.2020, 23:25
sed -r 's/(.+)[ ]+(.+)[ ]+([0-9]{2}-[0-9]{2}-)([0-9]{4})[ ]+(.+)/\1 \2 \4 \5/'
0
27.01.2020, 23:25

Теги

Похожие вопросы