2014-11-17 2 views
1

У меня есть текстовый файл, который Последователи этот формат:Использование регулярных выражений для обрезания URL-адресов?

http://www.mywebsite.com/user1242/random-information 
http://www.mywebsite.com/otheruser/writing-other-stuff 
http://www.mywebsite.com/anotheruser/fwefawef-wfefwef 
http://www.mywebsite.com/testuser/fwefweaf-fawefw 
http://www.mywebsite.com/testing123/this-is-a-test 

Я хочу, чтобы обрезать последнюю часть и сделать список выглядеть следующим образом:

http://www.mywebsite.com/user1242 
http://www.mywebsite.com/otheruser 
http://www.mywebsite.com/anotheruser 
http://www.mywebsite.com/testuser 
http://www.mywebsite.com/testing123 

Возможно ли это сделать с регулярным выражением или должны Я ищу другой способ сделать это?

Я надеялся сделать это через командную строку, но я могу запустить его через что-то вроде Notepad ++, если это проще ...

ответ

1

Использование AWK:

awk 'BEGIN{FS=OFS="/"} {$NF=""; print substr($0, 1, length($0)-1)}' file 
http://www.mywebsite.com/user1242 
http://www.mywebsite.com/otheruser 
http://www.mywebsite.com/anotheruser 
http://www.mywebsite.com/testuser 
http://www.mywebsite.com/testing123 
+1

Работал идеально! Благодаря! Я отвечу на ответ через 8 минут, когда это позволит мне! – Username

+1

Зачем играть в игры с длиной, когда вы могли бы просто «NF -» и печатать? –

+1

@EtanReisner: 'NF -' работает только с gnu-awk, он не работает с другими awk, такими как BSD awk на OSX – anubhava

1
awk NF-- FS=/ OFS=/ 

Результат

 
http://www.mywebsite.com/user1242 
http://www.mywebsite.com/otheruser 
http://www.mywebsite.com/anotheruser 
http://www.mywebsite.com/testuser 
http://www.mywebsite.com/testing123 
+1

+1, хитрый !!!! –

+2

'NF -' работает только с gnu-awk, он не работает с другими awk-версиями, такими как BSD awk на OSX – anubhava

Смежные вопросы