могу ли я подстроку поля после того, как я проанализировал файл с разделителем в Linux - PullRequest
0 голосов
/ 16 января 2019

например

вот данные

45|019|6|113|201901101522|40000539306|
45|015|1|6|201901101045|40000707530|
45|018|6|201|201901101733|40002235304|
45|009|8|377|201901101732|40002097431|

и я хочу видеть вот так

2019011
2019011
2019011
2019011
2019011

это то, что я уже пробовал: cut -d'|' -f5 < input.txt это то, что я получаю

201901101522
201901101045
201901101733
201901101732

Ответы [ 2 ]

0 голосов
/ 16 января 2019

Я делаю поспешные выводы, но я предполагаю, что вы хотите получить полную дату, а не только «10» дня?

gawk -F'|' '{print gensub( /^(.{8}).*/, "\\1", "1",$5)}' data 
20190110
20190110
20190110
20190110
0 голосов
/ 16 января 2019

Вы можете снова передать его в cut:

cut -d'|' -f5 <input.txt | cut -c1-7

Или используйте awk:

awk -F'\|' '{print substr($5, 1, 7)}' input.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...