Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
たとえば、「可視文字」のクラスが与えられます
[:graph:]
別名
[\x21-\x7E]
それらを「照合」順序で印刷するにはどうすればよいですか。つまり、によって決定される順序です。LC_COLLATE
LC_COLLATE
並べ替えを実行するだけです。最も難しい部分は、文字のリストを取得することです。これはASCIIで機能します:
for ((i=0x21; i<=0x7E; i++)) do printf "\\$(printf '%03o' $i)\0"; done | sort -z | tr -d '\0'
各文字とそれに続く NUL バイトを書き出し、それらをすべて並べ替え ( sortLC_COLLATE を考慮)、最後に NUL を削除します。
sort