[英]How to extract patterns form a text files in shell bash
我有一個文本文件,其中包含:
toto.titi.any=val1
toto.tata.any=val2
toto.tete.any=val2
如何從這個文件中提取titi
, tata
和tete
。
應該是這樣的一些sthing
$ cat myfile.txt | sed '......'
輸出應該是
titi
tata
tete
你真的需要sed
嗎? 你可以用cut
:
cut -d. -f2 filename
使用awk你可以做到:
awk -F. '{print $2}' file
awk / cut是這個問題的更好選擇。
這是sed行和grep選項:
sed -r 's/.*\.([^.]*)\..*/\1/'
grep -Po '\.\K[^.]*(?=\.)'
awk
和cut
是最好的
您還可以逐行讀取文件,並打印出所需的部分。
$ IFS=.
$ while read first interested others ; do echo $interested; done < file
titi
tata
tete
sed -n 's/^[^.]*.\([^.]*\)..*/\1/p' myfile.txt
顯示內部至少有2個點的線之間的第二個值
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.