echo
を使用して、アルファベットの文字のシーケンスを印刷できることを知っています コマンドを実行し、これを実行して少し実験しました。
小文字のシーケンス
$ echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z
大文字のシーケンス
$ echo {A..Z}
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
大文字と小文字のシーケンス
$ echo {A..z}
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z
今、これは私が得られない部分です。 special charcaters
を参照してください Zからaへ。これがより良いビューです。
$ echo {a..Z}
a ` _ ^ ] [ Z
知りたい
-
これらの特殊文字が大文字と小文字の間にどのように登場したのですか?
-
これらの特殊文字シーケンスはどういう意味ですか?
-
また、このシーケンスを中間にのみ印刷するにはどうすればよいですか?
承認された回答:
{A..z}
現在のロケールの文字エンコードに従って展開します。これはおそらくASCIIまたはそれに近いものです。 man ascii
を実行する場合 (システムにこれがある場合)またはASCIIテーブルを見ると、Z
の間にこれらの追加の文字が表示されます。 およびa
(echo {Z..a}
を実行した場合と同じです 実際に)。
大文字/小文字だけを取得するには、
を使用しますecho {A..Z} {a..z}
中間のものだけを取得するには、
を使用できます。typeset -a foo=($(echo {Z..a}))
echo ${foo[@]:1:((${#foo[@]} - 2))}
これは最初に含む配列を作成します 境界のすぐ外側にある2つの文字は、以外のすべての配列要素にアクセスします。 境界文字。
PS:typeset -a foo=({Z..a})
の理由を理解する 動作しないものは、読者の練習問題として残されています🙂
コマンド実行時間をSudoでタイミング設定する場合、`time`は`sudo`の前または`sudo`の後にする必要がありますか?
特定のコマンドにカスタムオートコンプリートを指定するにはどうすればよいですか?