第一個問題,所以希望我能很好地形成它。Sed或awk在一行的最後100個字符中查找一個字符串或刪除行
我期待在一行的最後100個字符中匹配一個字符串,即「lang」:「en」,如果沒有匹配,請刪除該行。
我試圖用做
sed '/"lang":"en"/!d' file > output
但遺憾的是很多線路有串不止一次,我只關心它的最終發生的sed。
我還在學習sed,但對awk一無所知,大部分搜索都提出了「文件中的第一個/最後一個實例」而不是「排成一行」,所以在學習最好的辦法是做到這一點。謝謝。
什麼SED? – 2015-03-03 04:09:34
@Emil Kakkau,如何將文件的最後200個字節傳送給'sed'有什麼幫助? Hedekar在一行的最後100個字符中尋找'「lang」:「en」... _並且還說...「但不幸的是,許多行都有這個字符串不止一次,我只關心最後一次它。」。所以我不明白這是如何有用的! – user3439894 2015-03-03 04:22:24
@ user3439894看看他的問題:「在最後100個字符中查找字符串」。所以進一步的管道會讓他在最後的100個字符中找到。完全像'tail -c 200 file.search | grep「lang」; echo $?'會表明有某物。因此問題的答案,但實際上我不確定這是否符合他的需要只是一個評論,也因爲沒有完全指出。 – 2015-03-03 04:28:25