ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'
ディレクトリツリーを表示するコマンド(上記参照)が見つかりましたが、機能しません。 「無効な変数名」というエラーメッセージが表示されました。私はエラーが$
シンボルにあると思います。 cshell環境に合わせてこのコマンドを変更するにはどうすればよいですか?
答え1
:$
シェルの拡張を防ぐには、単一引用符で囲む必要があります。
だからls -R | grep ':$' | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'
次に学ぶのはシェルの引用と拡張です。
csh
これが間違いだと思う人も多いです。それは奇妙で一貫性のない行動でいっぱいです。他のことを検討してくださいbash
、、ksh
...fish
答え2
シェルスクリプトの代わりに外部コマンドを使用できます。 「ツリー」があなたの環境で利用可能であれば、これは簡単です。
tree -d