我有這樣的文件中的行文件:移動線(S)遵循另一條線在一個文件
check=('78905905f5a4ed82160c327f3fd34cba')
我想能夠移動這條線跟隨線看起來像這樣:
files=('somefile.txt')
陣列雖然在能夠跨越多行,例如倍:
files=('somefile.txt'
'file2.png'
'another.txt'
'andanother...')
text
in between
check=('78905905f5a4ed82160c327f3fd34cba'
'5277a9164001a4276837b59dade26af2'
'3f8b60b6fbb993c18442b62ea661aa6b')
陣列/線送花兒給人s結束於a),並且之間的任何文本都不會包含閉括號。
我得到了一些建議了awk可以這樣做:
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
這將只跨越一個行雖然。我被告知要擴大搜索範圍:
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'
只是學習awk,所以我會很感激這個幫助。或者如果有另一種工具可以做到這一點,我想聽聽它。有人告訴我,'編輯'這些類型的功能。
啊哈,需要上下移動線條,對嗎?我已經修改了下面的答案... – DigitalRoss 2009-10-24 19:56:38