以前の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進数)。
で表すと、utf8
2バイトxC2
のxAC
和(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 ¬