Ezt a kódot szeretném megfejteni:

w | cut -d " " -f 1 - | grep -v USER | sort -u 

Válasz

w | cut -d " " -f 1 - | grep -v USER | sort -u 

A w parancs megjeleníti azokat a felhasználókat, akikhez bejelentkezett néhány további információ:

$ w 12:59:25 up 50 days, 21:45, 4 users, load average: 1.02, 1.03, 1.01 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT bill pts/12 xxx.xxx.xxx.xxx 12:55 0.00s 0.03s 0.03s tmux bill pts/14 tmux(64415).%0 12:55 0.00s 0.05s 0.03s w dave pts/18 yyy.yyy.yyy.yyy Wed09 23:52m 1:15 1:07 vim clear_snapshots.pl dave pts/2 yyy.yyy.yyy.yyy Tue14 23:48m 3.65s 3.65s -bash 

A cut -d " " -f 1 - parancs kivonja ennek első szóközzel elválasztott oszlopát (a - a végén eltávolítható):

$ w | cut -d " " -f 1 USER bill bill dave dave 

grep -v USER eltávolítja minden sor, amely tartalmazza a (z) USER karakterláncot:

$ w | cut -d " " -f 1 | grep -v USER bill bill dave dave 

sort -u lexikografikusan rendezi a bevitelt, és eltávolítja az ismétlődő sorokat:

$ w | cut -d " " -f 1 | grep -v USER | sort -u bill dave 

Azt hiszem, hogy megpróbálja felsorolni a jelenleg bejelentkezett felhasználók felhasználóneveit , rendezett listaként.

Ennek egyszerűbb módja a users parancs használata. A users az összes bejelentkezett felhasználót egy sorban adja ki, de ezt a tr " " "\n" és a sort -u soronként egy felhasználó megszerzéséhez:

users | tr " " "\n" | sort -u 

Ez ráadásul nem függ az w (az w kimenet első sorának ideje lehet vagy nem része a csővezeték kimenetének, attól függően, hogy az aktuális napszak egy vagy két számjegyű-e, az w megvalósításának használatáról.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük