перезапуск моей машины и сетевой сервис не решили эту проблему в моем linux-боксе.
Я удалил файл /etc/sysconfig/network-scripts/ifcfg-eth0
, а затем воссоздал файл с другим именем ifcfg-eth1
со статическим IP-адресом. После этого я запустил сетевую службу, и она сработала.
Вы можете использовать awk
как:
awk -F'-' '/Smith$/{print $1"#"$2"#"$NF}' athletes
Это даст результат:
1995#05#Smith
Здесь awk будет искать строки, оканчивающиеся на Smith
, и будет печатать первое, второе и последнее поле с #
между ними.
Использованиеsed
sed -En 's/([^-]*)-([^-]*).*Smith$/\1#\2#Smith/gp' file.txt
Он будет совпадать до тех пор, пока не появятся первые две -
, а затем будут напечатаны только совпадающие строки после их изменения.
Вы можете попробовать это:
grep "Smith$" file | tr "-" "#" | cut -d'#' -f1,2,5
Выход:
1995#05#Smith
Мы также можем сделать это ниже с помощью простой команды
awk -F "-" '/Smith$/&&OFS="#"{print $1,$2,$NF}' file
выход
1995#05#Smith