「Ø」というファイルがありますが、混乱しています。

「Ø」というファイルがありますが、混乱しています。

以前のSolarisサーバーで呼び出されたファイルが見つかりましたが、¬コマンドライン(bash 2.05)でそのファイルと対話する方法は混乱しています。

Øコマンドラインのこのキーとhome同じ機能を持ちます。このボタンを押すと、カーソルが行の先頭に移動します。rm ¬したがって、入力して削除しようとするとrm

vimでファイルを作成してfileØ文字を挿入できました。問題は、すべてのプログラムがこの役割を異なって見ているということです。いくつかの例:

bash-2.05# cat file
¬

bash-2.05# vim file
¬

bash-2.05# vi file
\302\254

bash-2.05# less x
"x" may be a binary file.  See it anyway? 
<C2><AC>

bash-2.05# more file
¬

bash-2.05# ls 
¬

bash-2.05# ls -q 
??

bash-2.05# ls -b 
\302\254

を実行してファイルを削除できましたrm $(cat file)。しかし、私の質問は、コマンドラインに入力してどのように削除できるかということです。動作しません。与えられた16進表現rm \302\254で何をすべきかわかりません。less

コマンドラインにØを挿入する特別な方法はありますか?

あまりにも古いので、複製するのは難しいかもしれませんが、とにかく尋ねると思いました。

ありがとう、パトリック

ベストアンサー1

文字¬はUnicodeです。コードポイントU+00ACまたは172(10進数)

で表すと、utf82バイトxC2xAC和(16進数)または
およびの8進数値になります。\302\254

これがbashでさまざまな方法でこのような文字を印刷できる理由です。

$ printf '\302\254'         # Add a \n to add a new line.
¬

$ printf '\xC2\xAC'
¬

$ echo -e '\0302\0254'        # Bash echo is special for requiring -e.
¬

$ echo -e '\xC2\xAC'
¬

$ echo $'\302\254'
¬

$ echo $'\xC2\xAC'
¬

または、UNICODE値を直接使用することもできます(コンソールがutf8を使用するように正しく設定されており、[2011年2月27日] Bashバージョン4.2がbash 2.05で機能しない場合のみ):

$ echo $'\u00AC'
¬

$ echo $'\U000000AC'
¬

上記のいずれかの方法が機能します。コマンドの置き換え コマンドに引数として文字を渡しますrm

$ rm "$(printf '\xC2\xAC')"

コンソールが正しく設定されている場合。 - を使用して、ホームキーを使用して画面上の
文字を印刷できます。¬CTRLV

ウィキペディアで

Unixインタラクティブターミナルは、Control-Vを使用して、「次の文字は文字通り処理する必要があります」を意味します(ここでニーモニックは「vは軸を表します」)。

rmspaceCTRLvhome# what you type.
RM ←# what you get.


当然ではないあなたはできますcopy and paste

マウスを使って使用したい文字を選択してください。

left-click just before the character
move the mouse one character to the right
release the mouse left-click

ctrlinsert次にコピーを押します。右クリック(選択ウィンドウが表示されます)を選択する必要がありますcopy

次に、文字を挿入する位置にカーソルを移動します。

そして押しshiftinsertて貼り付けます。

最後の方法では、実際に次のコマンドを書くことができます。

$ rm ¬

おすすめ記事