Linux
如何在文件中搜尋字元串的開頭並保存變數
我正在嘗試找到一種在文件中搜尋字元串的方法,它需要通過搜尋然後文件來工作,如果文件中的任何行以我正在搜尋的內容開頭,則取整行並將其保存為變數,以便我可以稍後在啟動另一個命令時使用它。
我已經在 python 中嘗試過,但我想在 bash 中找到一種方法
def f(inputpara,substringpara): temp_log="" for item in inputpara.split("\n"): if substringpara in item : temp_log=item.strip() return temp_log
謝謝我能夠讓它工作
IFS=$'\n' lines=( $(grep 'string*' textout.txt) ) for i in "{lines[@]}" do echo ${lines[@]} done
用於
grep
查找行首的字元串和保存結果的數組:IFS=$'\n' lines=( $(grep '^string' file.txt) )
grep '^string' file.txt``string
在文件行的開頭找到字元串file.txt
- 數組
lines
包含匹配的行,IFS=$'\n'
使每一行成為數組元素現在您可以使用正常數組操作迭代結果。
例如,要查找找到的行數:
${#lines[@]}
第一個元素:
${lines[0]}
第二個要素:
${lines[1]}
使用循環遍曆元素
for
:for i in "{lines[@]}"; do ....; done