嗨,我有一個困難的(至少對我來說)任務要做。我需要做到以下幾點:基於文件中的輸入添加文本到行的開始
這裏是我的輸入
host1
atetley 170.198.19.165 91 18 6 4198
NJPYNYFWD01 170.198.82.143 257 14 6 4749
NJTTKLFWD01 170.198.82.142 257 13 6 3993
host2
dfriel 198.177.151.69 91 14 6 2023
host3
dfriel 198.177.151.69 91 14 6 2023
fklotz 198.177.151.81 91 15 6 1829
ganthos 198.177.151.92 91 20 6 791
我需要下面的輸出
host1 atetley 170.198.19.165 91 18 6 4198
host1 NJPYNYFWD01 170.198.82.143 257 14 6 4749
host1 NJTTKLFWD01 170.198.82.142 257 13 6 3993
host2 dfriel 198.177.151.69 91 14 6 2023
host3 dfriel 198.177.151.69 91 14 6 2023
host3 fklotz 198.177.151.81 91 15 6 1829
host3 ganthos 198.177.151.92 91 20 6 791
不知道如何做到這一點的。我確實可以控制如何在輸出文件中注入主機名(例如host1 host host3)。所以我可以說在每個主機之前加上一個唯一的標識符,比如「uuu」
uuuhost1
atetley 170.198.19.165 91 18 6 4198
NJPYNYFWD01 170.198.82.143 257 14 6 4749
NJTTKLFWD01 170.198.82.142 257 13 6 3993
UUUhost2
dfriel 198.177.151.69 91 14 6 2023
UUUhost3
dfriel 198.177.151.69 91 14 6 2023
fklotz 198.177.151.81 91 15 6 1829
ganthos 198.177.151.92 91 20 6 791
但是我仍然需要這樣的結果。如果添加唯一標識符有幫助。我可以在文件mainpulation結束後將其剝離。示例將所有「UUU」移出文件
host1 atetley 170.198.19.165 91 18 6 4198
host1 NJPYNYFWD01 170.198.82.143 257 14 6 4749
host1 NJTTKLFWD01 170.198.82.142 257 13 6 3993
host2 dfriel 198.177.151.69 91 14 6 2023
host3 dfriel 198.177.151.69 91 14 6 2023
host3 fklotz 198.177.151.81 91 15 6 1829
host3 ganthos 198.177.151.92 91 20 6 791
任何人都可以幫助我解決這個問題嗎?
uuuur .....在6秒鐘內擊敗我.... +1 – Kent
lol :)謝謝你的回答也是正確的,所以+ 1 – anubhava
對不起,邏輯如下:基本上我貓的文件,然後我必須告訴它找到第一個主機名(host1)。一旦找到它,那麼它必須將host1添加到在它之後以及在找到下一個主機名「host2」之前的任意數量的行。我不認爲一個簡單的awk命令實現了這一點? – theuniverseisflat