Dodawanie numeru w linii w określonych wierszach.

Dodawanie numeru w linii w określonych wierszach.
Damian Grabarczyk
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

Cześć, czy można z poziomu powershell, konsoli lub w jakiś inny sposób ale nie z np++ otworzyć plik tekstowy. Gdy na początku linii znajduje się ciąg znaków np ",1" dopisać w tej linii na początku 1. Następna linia znów ciąg znaków ",1" i dopisanie w tej linii na początku 2 itd

jest

,1,XXXXX-XXXXX
,1,XXXXX-XXXXX
,1,XXXXX-XXXXX
,1,XXXXX-XXXXX

a chciałbym żeby było

1,1,XXXXX-XXXXX
2,1,XXXXX-XXXXX
3,1,XXXXX-XXXXX
4,1,XXXXX-XXXXX

zdaża się też że między liniami są inne dane

,1,XXXXX-XXXXX
yy-yyyyyyyyyyyy-yyyyyyyy
,1,XXXXX-XXXXX

czy można coś z tym zrobić byłbym wdzięczny za pomoc

Damian Grabarczyk
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

Dziękuję za odp,
nie wiem w tym przypadku jak można zastosować kod który na początku linii zawierającej początek :,: wstawi przed znakiem liczbę i w każdej kolejnej +1

Damian Grabarczyk
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

chodzi mi o to czy da się to zrobić i czy istnieje już poruszana taka kwestia.

coś ala

$i = 1; cat 1.txt | % {$i++;"$($i-1) $_"} | Out-File -encoding ASCII 0.txt

ale żeby liczył tylko określone linie zaczynające się od znaku

UglyMan
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2206
0

Tak. Da się. Konkretny przypadek jak twój, to pewnie nie był robiony, ale pod linkiem, który podesłałem, jest podane nawet kilka rozwiązań w PowerShellu jak odczytać linie z pliku i odszukać takie pasujące do wyrażenia regularnego. Jak ci te hasła nic nie mówią to lepiej to zlecić. Możesz tez opisać jaki problem stoi za tym i może się okazać, że próbujesz rozwiązać problem, który nie istnieje.

Pyxis
  • Rejestracja: dni
  • Ostatnio: dni
1

Użyj dedykowanego narzędzia do parsowania plików tekstowych:

Kopiuj
awk '{if ($0 ~ /^,1/) print ++i, $0; else print}' filename

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.