私のZSHカスタム設定には次の機能があります。
cll() { ls -AlhG "$@" | awk '{k=0;for(i=0;i<=8;i++)k+=((substr($1,i+2,1)~/[rwx]/)*2^(8-i));if(k)printf(" %0o ",k);print}'; }
次のように出力されます。
➜ test cll
total 32
644 -rw-r--r-- 1 work admin 0B Oct 7 18:55 .hidden
644 -rw-r--r-- 1 work admin 480B Aug 22 2016 gulpfile.js
644 -rw-r--r-- 1 work admin 149B Jan 7 2017 index.php
755 drwxr-xr-x 247 work admin 8.2K Aug 22 2016 node_modules
644 -rw-r--r-- 1 work admin 1.0K Aug 22 2016 test.less
644 -rw-r--r-- 1 work admin 664B Aug 22 2016 test.min.css
755 -rwxr-xr-x 1 work admin 0B Oct 7 18:54 try
色もサポートしているので、私の実行可能ファイルなどの色が良いです:)
-rw-r--r--
権限分析列(例:)を削除したいです。だから私は次のように見えたいです。
644 1 work admin 0B Oct 7 18:55 .hidden
644 1 work admin 480B Aug 22 2016 gulpfile.js
644 1 work admin 149B Jan 7 2017 index.php
755 247 work admin 8.2K Aug 22 2016 node_modules
644 1 work admin 1.0K Aug 22 2016 test.less
644 1 work admin 664B Aug 22 2016 test.min.css
755 1 work admin 0B Oct 7 18:54 try
私はそれを妨げようとしましたが、私がしたことはすべてそれを破壊しました。私はパイプを通さずに全く異なるアプローチを選ぶことを望んでいますawk
。
最後の解決策:
この問題に興味を持ってくれた@Skaperenに感謝しますcut
。この関数をデュアルパイプで接続しましたが、うまく動作します!これで出力は次のようになります。
➜ test cll
total
644 work admin 0B Oct 7 18:55 .hidden
644 work admin 480B Aug 22 2016 gulpfile.js
644 work admin 149B Jan 7 2017 index.php
755 work admin 8.2K Aug 22 2016 node_modules
644 work admin 1.0K Aug 22 2016 test.less
644 work admin 664B Aug 22 2016 test.min.css
755 work admin 0B Oct 7 18:54 try
これは私の機能ですaliases.zsh
(カスタム設定)。
cll() { ls -AlhG "$@" | awk '{k=0;for(i=0;i<=8;i++)k+=((substr($1,i+2,1)~/[rwx]/)*2^(8-i));if(k)printf(" %0o ",k);print}' | cut -c 1-5,21-; }
完璧にする唯一の方法は、「ディレクトリ」、「ファイル」、「symlink」などであることを確認するためにカスタム列を追加できることです。
答え1
コマンドを介してパイプしますcut -c 1-3,14-
。調整が必要な場合は、数値を調整してください。詳細を確認してくださいman cut
。