簡體   English   中英

sed命令行

[英]sed command line

嗨,我需要在file1.txt上運行'sed'命令,並讓它提取介於StringA和StringB之間的所有名稱...例如:“ Nickname”:“ bad_name”,提取bad_name,然后也保存所有結果Output.txt 。 這甚至有可能還是我應該查看其他命令?

不顯示您的file1.txt的更多示例,我假設您具有一致的數據格式。 如果是這樣,請使用awk

echo '"Nickname":"bad_name"' | awk -F":" '{print $NF}'

對於文件,只需輸入文件名

awk -F":" '{print $NF}' file > output.txt

否則,請提供更多示例數據供我們使用。

使用sed:

dmedvinsky@home:~$ cat file1 
"Nickname":"bad_name"
"First Name":"Dmitry"
bad line
"Dog Name":"Chuppy"
another bad line

dmedvinsky@home:~$ cat file1 | sed -e '/\(.\+\)":"\(.\+\)"/!d' -e 's/"\(.\+\)":"\(.\+\)"/\2/'
bad_name
Dmitry
Chuppy

第一個表達式刪除格式錯誤的行,第二個表達式將模式替換為第二個匹配的組-第二個引號的內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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