2015-12-06 137 views
-1

This image is the /etc/passwd file Linux:可以使用哪個單一sed命令將/ etc/passwd中具有Smith或Jones的描述(第5字段)中的匹配項輸出到名爲smith_jones的文件。文本?Linux:將字段5的Sed命令輸出輸出到文件

+1

您需要提供更多詳細信息:文件的格式,是sed required還是awk/grep/...也行,只有匹配的文本應該在輸出或整行/段落中... – Andrey

+2

這些領域是分開來確定第五場?還提供一些示例文件,以開始使用以及到目前爲止嘗試過的內容。 –

+1

'awk'旨在解決這類問題。這樣做只是爲了理解爲什麼'awk'(和其他人)更適合這項任務。祝你好運。 – shellter

回答

1

我不會用sed,但它看起來像你引用一個標準的/ etc/passwd文件,這樣的東西,可能就是你要尋找的是這樣的:

cat /etc/passwd | awk -F ":" '{if ($5 ~ /Smith/ || $5 ~ /Jones/) print}' 

所以AWK '{print $ 5}'通常用於打印第五列管道,在本例中爲/ etc/passwd文件。但是,因爲它不是表格數據,所以我提供了帶有分隔符「:」的-F參數,因爲這是分隔我們的值的原因。

這是一個相當簡單的if語句,基本上說,如果這個字符串包含Smith OR Jones在某個地方,就打印它。