簡體   English   中英

如何從shell bash中的文本文件中提取模式

[英]How to extract patterns form a text files in shell bash

我有一個文本文件,其中包含:

toto.titi.any=val1
toto.tata.any=val2
toto.tete.any=val2

如何從這個文件中提取tititatatete

應該是這樣的一些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[^.]*(?=\.)' 

awkcut是最好的

您還可以逐行讀取文件,並打印出所需的部分。

$ 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM