如果存在用戶名,則必須在該用戶名上添加數(shù)字2,如果該用戶名也存在,則必須在其上添加數(shù)字3,依此類推...(因此,如果John存在,則程序必須添加John2,并且如果存在)同樣,它也必須添加John3等。)然后,我記住的每個用戶都會被記住。在bash中最短最簡單的方法是什么?
2 回答

搖曳的薔薇
TA貢獻1793條經(jīng)驗 獲得超6個贊
一些有用的部分:
for n in "" {9..11}; do egrep -q "^stefan${n}\b" /etc/passwd && echo "name${n} " || echo "unknown name${n}"; done
name
unknown name9
unknown name10
unknown name11
遍歷數(shù)字,查找(可能生成的)用戶名,如果知道或未知,則以不同的方式進行反應(yīng),粘貼名稱和數(shù)字。

哆啦的時光機
TA貢獻1779條經(jīng)驗 獲得超6個贊
假設(shè)users.txt是:
joe
jimmy
foo
jimmy
bar
jimmy
然后你可以使用awk
awk 'cnt[$0]++{$0=$0 cnt[$0]-1} 1' users.txt
產(chǎn)生輸出:
joe
jimmy
foo
jimmy1
bar
jimmy2
添加回答
舉報
0/150
提交
取消