我想使用 linux 命令從檔案中提取特定單詞。下面是我的檔案內容
DVC Version Tag: Engine-4.0.1
我想從檔案的上述內容中提取“Engine-4.0.1”到一個變數中。我試過
sed -n '/Engine/p' dvc_version_text.txt
這將列印整行。我的預期輸出是只列印Engine-4.0.1
uj5u.com熱心網友回復:
我將您的文本放入我自己的 test.txt 檔案中,并且能夠使用
sed 's/[^:]*: *//' test.txt -> Engine-4.0.1
uj5u.com熱心網友回復:
下面awk應該作業:
awk -F ': ' '/^DVC Version Tag/{print $2}' file.txt
輸出:
Engine-4.0.1
使用GNU sed:
sed -E 's/^DVC Version Tag:\s*//' file.txt
或者
sed -E '/DVC Version Tag:/s/^.*:\s*//' file.txt
輸出:
Engine-4.0.1
uj5u.com熱心網友回復:
由于您的檔案的內容,根據您的定義,僅由這一行組成,您可以簡單地執行
awk '{ print $NF }' <dvc_version_text.txt
或者
cut -d ' ' -f 4 <dvc_version_text.txt
或者
grep -oE 'Engine. ' <dvc_version_text.txt
uj5u.com熱心網友回復:
假設:
- 您想
Engine在檔案中找到以 開頭的單詞。 - 該行中的單詞后沒有多余的字串。
- 可能還有其他行不包含
Engine.
那請你試試:
sed -En 's/.*(Engine.*)/\1/p' dvc_version_text.txt
uj5u.com熱心網友回復:
如果所需的字串總是出現在最后一個空格之后,這sed將起作用
$ sed 's/.*\s//' input_file
Engine-4.0.1
uj5u.com熱心網友回復:
猛擊
X=$( echo DVC Version Tag: Engine-4.0.1 | cut -d ' ' -f4 )
X=$( echo DVC Version Tag: Engine-4.0.1 | cut -d ':' -f2 )
uj5u.com熱心網友回復:
您可以使用下面給出的命令。
grep "Engine-4.0.1" filename | awk -F":" '{print $2}'
uj5u.com熱心網友回復:
我們可以使用grep。
grep <location> -ie <pattern> | awk -F":" '{print$2}'
我們將提供幾個引數:
位置→ 檔案的位置,
模式 → 在我們的例子中引擎
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/396787.html
