質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

Q&A

解決済

3回答

1072閲覧

linuxのtabの一括削除

退会済みユーザー

退会済みユーザー

総合スコア0

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

0グッド

0クリップ

投稿2018/08/27 05:26

編集2018/08/27 06:09

前提・実現したいこと

windows上でエクセルをUnicodeでテキストデータとして保存し、
VirtualBoxで仮想マシンにファイル共有ををしました。OSはCentOSです。
現在ファイルにはtabによる空白がたくさんあり、一括削除をしたいです。

発生している問題・試したこと

# tr -d ' ' < test1-4.txt > test1-4
を行うと、何も変換されなかった。

# tr -d \t < test1-4.txt > test1-4
を行うと、何も変換されなかった.

# tr -d '\t' < test1-4.txt > test1-4
を行うとtabが文字化けを起こしただけだった。

補足情報(FW/ツールのバージョンなど)

windows10
CentOS Linux release 7.5.1804 (Core)

追記(文字化けについて)

1 1 5 1 11B

2 0 2 1 2 1 215
3 0 3 1 6 1 31D
4 0 4 1 1 1 413
5 0 5 1 3 1 517

というものが

0㄀^@1㔀^@1^@11B^@^@^@^@^@^@^@^@^@^@^@^@^@^@ഀ਀ ^@2㄀^@2㄀^@㈀㄀㔀^@^@^@^@^@^@^@@
^@^@^@^@^@^@^@^@
2 0㌀^@1㘀^@1^@31D^@^@^@^@^@^@^@^@^@^@^@^@^@^@ഀ਀ ^@4㄀^@1㄀^@㐀㄀㌀^@^@^@^@^@^@^^
@^@^@^@^@^@^@^@^@
3 0㔀^@1㌀^@1^@517^@^@^@^@^@^@^@^@^@^@^@^@^@^@ഀ਀ ^@6㄀^@4㄀^@㘀㄀㤀^@^@^@^@^@^@^^
@^@^@^@^@^@^@^@^@
4 0㜀^@1㈀^@1^@715^@^@^@^@^@^@^@^@^@^@^@^@^@^@ഀ਀ ^@8㄀^@5㄀^@㠀㄀䈀^@^@^@^@^@^@^^
@^@^@^@^@^@^@^@^@
5 0㤀^@1㜀^@1^@91F^@^@^@^@^@^@^@^@^@^@^@^@^@^@ഀ਀ ^@10㄀^@6㄀^@䄀㄀䐀^@^@^@^@^@^@@
^@^@^@^@^@^@^@^@^@
6 0㄀㄀^@1㌀^@1^@B17^@^@^@^@^@^@^@^@^@^@^@^@^@^@ഀ਀ ^@12㄀^@5㄀^@䌀㄀䈀^@^@^@^@^@^@@
^@^@^@^@^@^@^@^@^@

という状態になります

hexdump -c test1-4で

0000000 377 376 0 \0 \0 1 \0 \0 1 \0 \0 5 \0 \0 1 \0
0000010 \0 \0 1 \0 1 \0 B \0 \0 \0 \0 \0 \0 \0 \0 \0
0000020 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0000030 \0 \0 \0 \0 \0 \r \0 \n \0 0 \0 \0 2 \0 \0 1
0000040 \0 \0 2 \0 \0 1 \0 \0 \0 2 \0 1 \0 5 \0 \0
0000050 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0

od -tx1 test1-4で

0000000 ff fe 30 00 00 31 00 00 31 00 00 35 00 00 31 00
0000020 00 00 31 00 31 00 42 00 00 00 00 00 00 00 00 00
0000040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000060 00 00 00 00 00 0d 00 0a 00 30 00 00 32 00 00 31
0000100 00 00 32 00 00 31 00 00 00 32 00 31 00 35 00 00
0000120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000140 00 00 00 00 00 00 00 00 00 00 00 00 0d 00 0a 00
0000160 30 00 00 33 00 00 31 00 00 36 00 00 31 00 00 00

となりました。(冒頭から一部抜粋しています)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

Windowsで、「Unicode」というとUTF-16というエンコーディングを意味しますが、それでしょうか?
それであれば、Linuxの一般的な文字列処理コマンドでは処理できません。
一旦UTF-8に変換して処理します。

Bash

1iconv -f utf-16 -t utf-8 test1-4.txt | tr -d '\t' | iconv -f utf-8 -t utf-16 > test1-4

上記例では、タブ削除後にUTF-16に戻しましたが、Linux上ではずっとUTF-8で処理して本当に必要な段階でUTF-16にするのが良いです。

投稿2018/08/27 05:57

otn

総合スコア86295

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/08/27 06:15

恥ずかしながら、excelの「名前を付けて保存」でUnicodeテキストで保存した状態で、UTF-16なのかは考えておりませんでした。 この方法でtabは削除されました!ありがとうございます。
guest

0

sh

1sed -e "s/\t//g" < test1-4.txt > test1-4

これで削れません?

投稿2018/08/27 05:34

taka2063

総合スコア307

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/08/27 05:41

回答していただきありがとうございます。 試してみると文字化けを起こした状態になってしまいました。
guest

0

Ctrl-v [TAB] を入力するとタブ文字そのものがコンソールで入力できますので、 tr -d "[TAB文字]" を試してみてください。

投稿2018/08/27 05:30

mather

総合スコア6762

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/08/27 05:37

回答して頂きありがとうございます。 Ctrl + v + tab でタブが入力されることは初めて知りました。
退会済みユーザー

退会済みユーザー

2018/08/27 05:38

しかしながら、 tabが文字化けを起こしただけになってしまいました。 また''を外してみると、オペラントが存在しないとなってしまいました。
mather

2018/08/27 05:53

具体的にはどんな文字化けになったのですか? hexdump -C や od -tx1 などで文字コード表示をしてみるとよく分かるのではないかと思います。
退会済みユーザー

退会済みユーザー

2018/08/27 06:11

ありがとうございます。 とりあえず質問欄を更新いたしました。 hexdempやodについては後で調べさせていただきます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問