Edycja pliku teksowego


(Djzon) #1

Mam listę w postaci pliku tekstowego

 

 

Znjdują się w niej 50 tysięcy numerów z "-" lub bez "-" np:.

 

-1

1

-1_0

1_0

 

 

Tam gdzie jest "-" chcę dodać na początku dodać

http://site.com/sid

Tam gdzie NIE MA "-" chcę dodać na pocżątku

http://site.com/id

Chcę to wykonać najlepiej w jakimś edytorze tekstu


(mr-owl) #2

A gdyby tak za pomocą Notepad2 zrobić podmianę “^” na "http://site.com/id" (z zaznaczoną opcją regex) a później zrobić podmiankę z "http://site.com/id-" na "http://site.com/sid" to będzie dobrze czy jeszcze za mało?

 

mr-owl


(tomms) #3

W bashu można tak:

 

$ cat swinka.txt 
-1
1
-1_0
1_0
$ cat swinka.txt | while read line ; do if [${line:0:1} == "-"] ; then echo http://site.com/sid$line ; else echo http://site.com/id$line ; fi ; done
http://site.com/sid-1
http://site.com/id1
http://site.com/sid-1_0
http://site.com/id1_0

(Djzon) #4

tomms - w tym kodzie gdzie dodać ścieżkę(PATH) w którym jest plik tekstowy(aby wskazywał lokalizację pliku) i gdzie ma zapisać(do której z lokalizacji)?

$ cat swinka.txt

Np.

P:\

a chcę zapisać do

P:\LISTA

(tomms) #5

Plik wejściowy to jest parametr dla ‘cat’ natomiast aby uzyskać plik wyjściowy użyj operatora przekierowania >

 

$ cat /home/tomek/swinka.txt | while read line ; do if [${line:0:1} == "-"] ; then echo http://site.com/sid$line ; else echo http://site.com/id$line ; fi ; done > /home/tomek/prosiaczek.txt
$ cat /home/tomek/prosiaczek.txt 
http://site.com/sid-1
http://site.com/id1
http://site.com/sid-1_0
http://site.com/id1_0