dostałem plik, który ma linię w pliku jak poniżej:Move podążać inną linię w pliku
check=('78905905f5a4ed82160c327f3fd34cba')
Chciałbym móc przenieść tę linię, aby postępować zgodnie ze linia, która wygląda następująco:
files=('somefile.txt')
tablica chociaż czasami, która może obejmować wiele przewodów, na przykład:
files=('somefile.txt'
'file2.png'
'another.txt'
'andanother...')
text
in between
check=('78905905f5a4ed82160c327f3fd34cba'
'5277a9164001a4276837b59dade26af2'
'3f8b60b6fbb993c18442b62ea661aa6b')
tablica/linia sprecyzowane s kończy się na a) i żaden tekst nie będzie zawierał zamkniętego nawiasu.
mam kilka rad by awk może to zrobić:
awk '/files/{
f=0
print $0
for(i=1;i<=d;i++){ print a[i] }
g=0
delete a # remove array after found
next
}
/check/{ f=1; g=1 }
f{ a[++d]=$0 }
!g' file
ten nie sięga tylko jedną linię chociaż. Powiedziano mi, aby rozwinąć wyszukiwanie:
awk '/source/ && /\)$/{
f=0
print $0
for(i=1;i<=d;i++){ print a[i] }
g=0
delete a # remove array after found
next
}
/md5sum/ && /\)$/{ f=1; g=1 }
f{ a[++d]=$0 }
!g'
ucze awk więc byłbym wdzięczny pomóc. Lub jeśli istnieje inne narzędzie, które może to zrobić, chciałbym o tym usłyszeć. Ktoś powiedział mi, że "ed" te typy zdolności.
Aha, potrzeba poruszać liniami w górę iw dół, prawda? Skorygowałem odpowiedź poniżej ... – DigitalRoss