दीवार के विचार से दूर
अस्वीकरण: यह आप में से अधिकांश के लिए ओवरकिल होने जा रहा है। लेकिन मैं 1995 से ऐसा कर रहा हूं और मेरे पास अपनी दुनिया बनाने का कौशल है कि मैं यह कैसे चाहता हूं। तो, मैं क्यों नहीं?
मुझे वास्तव में विभिन्न छँटाई विधियों का उपयोग करना पसंद है ls
, विशेष रूप से -rt
(जो कि r
संशोधित t
ime द्वारा क्रमबद्ध है )। इसलिए, मैंने कुछ क्रेज़ी करने की कोशिश की और अपनी छँटाई करने के लिए awk का उपयोग किया।
# save as ~/.ls.awk
# inpsired by http://superuser.com/questions/448291/how-can-i-make-ls-show-dotfiles-first
{
if($1 == "total"){
print $0
next
}
# may need to adjust $9 to match your name column
if(match($9, /^(\033\[[0-9]*m)*\./)) # optionally look past xterm highlighting like: ^[[34m
df[++dd] = $0
else
nf[++nn] = $0
}
END{
while (++d in df)
print df[d]
while (++n in nf)
print nf[n]
}
अब एक बैश उपनाम को परिभाषित करने के बजाय, मैं एक बैश फ़ंक्शन को परिभाषित करता हूं (क्योंकि उपनाम केवल तर्कों को अंत में जोड़ सकते हैं, लेकिन फ़ंक्शन उन्हें कहीं भी उपयोग कर सकते हैं)
ll(){ CLICOLOR_FORCE=1 ls -lhA $* | awk -f ~/.ls.awk; }
परिणाम देखने के लिए
आइए कुछ नमूना फाइलें बनाएं:
for n in 4 .4 3 .3 2 .2 1 .1; do touch $n; sleep 1; done
सादे एलएस का उपयोग करना
$ ls -lA
total 8
-rw-r--r-- 1 bbronosky staff 0 Dec 1 00:25 .1
-rw-r--r-- 1 bbronosky staff 0 Dec 1 00:25 .2
-rw-r--r-- 1 bbronosky staff 0 Dec 1 00:25 .3
-rw-r--r-- 1 bbronosky staff 0 Dec 1 00:25 .4
-rwxr-xr-x 1 bbronosky staff 285 Nov 29 13:14 .ls.awk
-rwxr-xr-x 1 bbronosky staff 0 Dec 1 00:25 1
-rwxr-xr-x 1 bbronosky staff 0 Dec 1 00:25 2
-rwxr-xr-x 1 bbronosky staff 0 Dec 1 00:25 3
-rwxr-xr-x 1 bbronosky staff 0 Dec 1 00:25 4
$ ls -lArt
total 8
-rwxr-xr-x 1 bbronosky staff 285 Nov 29 13:14 .ls.awk
-rwxr-xr-x 1 bbronosky staff 0 Dec 1 00:25 4
-rw-r--r-- 1 bbronosky staff 0 Dec 1 00:25 .4
-rwxr-xr-x 1 bbronosky staff 0 Dec 1 00:25 3
-rw-r--r-- 1 bbronosky staff 0 Dec 1 00:25 .3
-rwxr-xr-x 1 bbronosky staff 0 Dec 1 00:25 2
-rw-r--r-- 1 bbronosky staff 0 Dec 1 00:25 .2
-rwxr-xr-x 1 bbronosky staff 0 Dec 1 00:25 1
-rw-r--r-- 1 bbronosky staff 0 Dec 1 00:25 .1
मेरे फ़ंक्शन का उपयोग करना जो awk के साथ फ़िल्टर करता है
$ ll
total 8
-rw-r--r-- 1 bbronosky staff 0B Dec 1 00:25 .1
-rw-r--r-- 1 bbronosky staff 0B Dec 1 00:25 .2
-rw-r--r-- 1 bbronosky staff 0B Dec 1 00:25 .3
-rw-r--r-- 1 bbronosky staff 0B Dec 1 00:25 .4
-rwxr-xr-x 1 bbronosky staff 285B Nov 29 13:14 .ls.awk
-rwxr-xr-x 1 bbronosky staff 0B Dec 1 00:25 1
-rwxr-xr-x 1 bbronosky staff 0B Dec 1 00:25 2
-rwxr-xr-x 1 bbronosky staff 0B Dec 1 00:25 3
-rwxr-xr-x 1 bbronosky staff 0B Dec 1 00:25 4
$ ll -rt
total 8
-rwxr-xr-x 1 bbronosky staff 285B Nov 29 13:14 .ls.awk
-rw-r--r-- 1 bbronosky staff 0B Dec 1 00:25 .4
-rw-r--r-- 1 bbronosky staff 0B Dec 1 00:25 .3
-rw-r--r-- 1 bbronosky staff 0B Dec 1 00:25 .2
-rw-r--r-- 1 bbronosky staff 0B Dec 1 00:25 .1
-rwxr-xr-x 1 bbronosky staff 0B Dec 1 00:25 4
-rwxr-xr-x 1 bbronosky staff 0B Dec 1 00:25 3
-rwxr-xr-x 1 bbronosky staff 0B Dec 1 00:25 2
-rwxr-xr-x 1 bbronosky staff 0B Dec 1 00:25 1
आप इसके कार्यान्वयन को यहाँ देख सकते हैं https://github.com/RichardBronosky/dotfiles/commit/6170301a9
इसके बारे में सबसे महत्वपूर्ण बात यह है कि यह आपके ls
आउटपुट को ट्विक करने के लिए एक रूपरेखा है । आप उस awk फ़िल्टर के साथ कुछ भी कर सकते हैं। आप चाहते हैं कि यह निर्देशिका हो, फिर dotfiles, फिर सब कुछ हो। एक बार जब आप अपने xterm रंगों को संभालना जानते हैं, तो यह बहुत मुश्किल नहीं है। यह पूरी तरह से आप पर निर्भर है।