linux - 无法从 Linux bash 中的文本文件中删除隐藏字符

标签 linux bash sed text-processing

我在 Linux 机器上有一个文件,其中包含许多隐藏字符,如下所示:

 $ cat -v file.txt

^[[2J^[[?7l^[[3;23r^[[?6l^[[1;1H^[[?25l^[[1;1HLogging into the device
Software revision V1.0
Copyright All Rights Reserved.
                           RESTRICTED RIGHTS LEGEND
 Use, duplication, or disclosure by the Government is subject to restrictions
         ABC, COMPANY
^[[1;24r^[[1;1H^[[44;1HPress any key to continue^[[44;1H^[[? 
25h^[[44;27H^[[2J^[[?7l^[[1;24r^[[? 
6l^[[44;27H^[[1;44r^[[44;1H^[[44;1H^[[2K^[[44;1H^[[?25h^[[44;1H^[[44;1HMH
5 percent busy, from 388 sec ago
1 sec ave: 4 percent busy
5 sec ave: 16 percent busy
1 min ave: 7 percent busy
^[[1;44r^[[44;1H^[[44;1H^[[2K^[[44;1H^[[?25h^[[44;1H^[[44;1My-Device-SW> 
^[[44;1H^[[44;11H^[[44;1H^[[? 
25h^[[44;11H^[[44;0H^[E^[[44;1H^[[44;11H^[[44;1H^[[2K^[[44;1H^[[?.

之前我使用以下方法删除了一些 ^M 字符:

sed 's/^M//g' file.txt

我只想删除隐藏字符,以便我的实际文件看起来像:

$ cat file.txt
Logging into the device
Software revision V1.0
Copyright All Rights Reserved.
                           RESTRICTED RIGHTS LEGEND
 Use, duplication, or disclosure by the Government is subject to restrictions
         ABC, COMPANY





































Press any key to continue











































My-Device-SW>
My-Device-show CPU

5 percent busy, from 388 sec ago
1 sec ave: 4 percent busy
5 sec ave: 16 percent busy
1 min ave: 7 percent busy
My-Device-SW>
My-Device-exit
Do you want to log out [y/n]? y











































Connection to My-Device-SW closed.

还发布了 hexdump -C file.txt 的输出:

$ hexdump -C file.txt

00000000  1b 5b 32 4a 1b 5b 3f 37  6c 1b 5b 33 3b 32 33 72  |.[2J.[?7l.[3;23r|
00000010  1b 5b 3f 36 6c 1b 5b 31  3b 31 48 1b 5b 3f 32 35  |.[?6l.[1;1H.[?25|
00000020  6c 1b 5b 31 3b 31 48 4c  6f 67 67 69 6e 67 20 69  |l.[1;1HLogging i|
00000030  6e 74 6f 20 74 68 65 20  64 65 76 69 63 65 0a 53  |nto the device.S|
00000040  6f 66 74 77 61 72 65 20  72 65 76 69 73 69 6f 6e  |oftware revision|
00000050  20 56 31 2e 30 0a 43 6f  70 79 72 69 67 68 74 20  | V1.0.Copyright |
00000060  41 6c 6c 20 52 69 67 68  74 73 20 52 65 73 65 72  |All Rights Reser|
00000070  76 65 64 2e 0a 20 20 20  20 20 20 20 20 20 20 20  |ved..           |
00000080  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000090  52 45 53 54 52 49 43 54  45 44 20 52 49 47 48 54  |RESTRICTED RIGHT|
000000a0  53 20 4c 45 47 45 4e 44  0a 20 55 73 65 2c 20 64  |S LEGEND. Use, d|
000000b0  75 70 6c 69 63 61 74 69  6f 6e 2c 20 6f 72 20 64  |uplication, or d|
000000c0  69 73 63 6c 6f 73 75 72  65 20 62 79 20 74 68 65  |isclosure by the|
000000d0  20 47 6f 76 65 72 6e 6d  65 6e 74 20 69 73 20 73  | Government is s|
000000e0  75 62 6a 65 63 74 20 74  6f 20 72 65 73 74 72 69  |ubject to restri|
000000f0  63 74 69 6f 6e 73 0a 20  20 20 20 20 20 20 20 20  |ctions.         |
00000100  41 42 43 2c 20 43 4f 4d  50 41 4e 59 0a 1b 5b 31  |ABC, COMPANY..[1|
00000110  3b 32 34 72 1b 5b 31 3b  31 48 1b 5b 34 34 3b 31  |;24r.[1;1H.[44;1|
00000120  48 50 72 65 73 73 20 61  6e 79 20 6b 65 79 20 74  |HPress any key t|
00000130  6f 20 63 6f 6e 74 69 6e  75 65 1b 5b 34 34 3b 31  |o continue.[44;1|
00000140  48 1b 5b 3f 32 35 68 1b  5b 34 34 3b 32 37 48 1b  |H.[?25h.[44;27H.|
00000150  5b 32 4a 1b 5b 3f 37 6c  1b 5b 31 3b 32 34 72 1b  |[2J.[?7l.[1;24r.|
00000160  5b 3f 36 6c 1b 5b 34 34  3b 32 37 48 1b 5b 31 3b  |[?6l.[44;27H.[1;|
00000170  34 34 72 1b 5b 34 34 3b  31 48 1b 5b 34 34 3b 31  |44r.[44;1H.[44;1|
00000180  48 1b 5b 32 4b 1b 5b 34  34 3b 31 48 1b 5b 3f 32  |H.[2K.[44;1H.[?2|
00000190  35 68 1b 5b 34 34 3b 31  48 1b 5b 34 34 3b 31 48  |5h.[44;1H.[44;1H|
000001a0  4d 79 2d 44 65 76 69 63  65 2d 53 57 3e 20 1b 5b  |My-Device-SW> .[|
000001b0  34 34 3b 31 48 1b 5b 34  34 3b 31 31 48 1b 5b 34  |44;1H.[44;11H.[4|
000001c0  34 3b 31 48 1b 5b 3f 32  35 68 1b 5b 34 34 3b 31  |4;1H.[?25h.[44;1|
000001d0  31 48 1b 5b 34 34 3b 30  48 1b 45 1b 5b 34 34 3b  |1H.[44;0H.E.[44;|
000001e0  31 48 1b 5b 34 34 3b 31  31 48 1b 5b 34 34 3b 31  |1H.[44;11H.[44;1|
000001f0  48 1b 5b 32 4b 1b 5b 34  34 3b 31 48 1b 5b 3f 32  |H.[2K.[44;1H.[?2|
00000200  35 68 1b 5b 34 34 3b 31  48 1b 5b 31 3b 34 34 72  |5h.[44;1H.[1;44r|
00000210  1b 5b 34 34 3b 31 48 1b  5b 31 3b 34 34 72 1b 5b  |.[44;1H.[1;44r.[|
00000220  34 34 3b 31 48 1b 5b 34  34 3b 31 48 1b 5b 32 4b  |44;1H.[44;1H.[2K|
00000230  1b 5b 34 34 3b 31 48 1b  5b 3f 32 35 68 1b 5b 34  |.[44;1H.[?25h.[4|
00000240  34 3b 31 48 1b 5b 34 34  3b 31 48 4d 79 2d 44 65  |4;1H.[44;1HMy-De|
00000250  76 69 63 65 2d 53 57 3e  20 1b 5b 34 34 3b 31 48  |vice-SW> .[44;1H|
00000260  1b 5b 34 34 3b 31 31 48  1b 5b 34 34 3b 31 48 1b  |.[44;11H.[44;1H.|
00000270  5b 3f 32 35 68 1b 5b 34  34 3b 31 31 48 1b 5b 34  |[?25h.[44;11H.[4|
00000280  34 3b 31 31 48 73 68 6f  77 20 43 50 55 1b 5b 34  |4;11Hshow CPU.[4|
00000290  34 3b 31 31 48 1b 5b 3f  32 35 68 1b 5b 34 34 3b  |4;11H.[?25h.[44;|
000002a0  31 39 48 1b 5b 34 34 3b  30 48 1b 45 1b 5b 34 34  |19H.[44;0H.E.[44|
000002b0  3b 31 48 1b 5b 34 34 3b  31 39 48 1b 5b 34 34 3b  |;1H.[44;19H.[44;|
000002c0  31 48 1b 5b 32 4b 1b 5b  34 34 3b 31 48 1b 5b 3f  |1H.[2K.[44;1H.[?|
000002d0  32 35 68 1b 5b 34 34 3b  31 48 1b 5b 31 3b 34 34  |25h.[44;1H.[1;44|
000002e0  72 1b 5b 34 34 3b 31 48  0a 35 20 70 65 72 63 65  |r.[44;1H.5 perce|
000002f0  6e 74 20 62 75 73 79 2c  20 66 72 6f 6d 20 33 38  |nt busy, from 38|
00000300  38 20 73 65 63 20 61 67  6f 0a 31 20 73 65 63 20  |8 sec ago.1 sec |
00000310  61 76 65 3a 20 34 20 70  65 72 63 65 6e 74 20 62  |ave: 4 percent b|
00000320  75 73 79 0a 35 20 73 65  63 20 61 76 65 3a 20 31  |usy.5 sec ave: 1|
00000330  36 20 70 65 72 63 65 6e  74 20 62 75 73 79 0a 31  |6 percent busy.1|
00000340  20 6d 69 6e 20 61 76 65  3a 20 37 20 70 65 72 63  | min ave: 7 perc|
00000350  65 6e 74 20 62 75 73 79  0a 1b 5b 31 3b 34 34 72  |ent busy..[1;44r|
00000360  1b 5b 34 34 3b 31 48 1b  5b 34 34 3b 31 48 1b 5b  |.[44;1H.[44;1H.[|
00000370  32 4b 1b 5b 34 34 3b 31  48 1b 5b 3f 32 35 68 1b  |2K.[44;1H.[?25h.|
00000380  5b 34 34 3b 31 48 1b 5b  34 34 3b 31 4d 79 2d 44  |[44;1H.[44;1My-D|
00000390  65 76 69 63 65 2d 53 57  3e 20 1b 5b 34 34 3b 31  |evice-SW> .[44;1|
000003a0  48 1b 5b 34 34 3b 31 31  48 1b 5b 34 34 3b 31 48  |H.[44;11H.[44;1H|
000003b0  1b 5b 3f 32 35 68 1b 5b  34 34 3b 31 31 48 1b 5b  |.[?25h.[44;11H.[|
000003c0  34 34 3b 30 48 1b 45 1b  5b 34 34 3b 31 48 1b 5b  |44;0H.E.[44;1H.[|
000003d0  34 34 3b 31 31 48 1b 5b  34 34 3b 31 48 1b 5b 32  |44;11H.[44;1H.[2|
000003e0  4b 1b 5b 34 34 3b 31 48  1b 5b 3f 32 35 68 1b 5b  |K.[44;1H.[?25h.[|
000003f0  34 34 3b 31 48 1b 5b 31  3b 34 34 72 1b 5b 34 34  |44;1H.[1;44r.[44|
00000400  3b 31 48 1b 5b 31 3b 34  34 72 1b 5b 34 34 3b 31  |;1H.[1;44r.[44;1|
00000410  48 1b 5b 34 34 3b 31 48  1b 5b 32 4b 1b 5b 34 34  |H.[44;1H.[2K.[44|
00000420  3b 31 48 1b 5b 3f 32 35  68 1b 5b 34 34 3b 31 48  |;1H.[?25h.[44;1H|
00000430  1b 5b 34 34 3b 31 48 4d  79 2d 44 65 76 69 63 65  |.[44;1HMy-Device|
00000440  2d 53 57 3e 20 1b 5b 34  34 3b 31 48 1b 5b 34 34  |-SW> .[44;1H.[44|
00000450  3b 31 31 48 1b 5b 34 34  3b 31 48 1b 5b 3f 32 35  |;11H.[44;1H.[?25|
00000460  68 1b 5b 34 34 3b 31 31  48 1b 5b 34 34 3b 31 31  |h.[44;11H.[44;11|
00000470  48 65 78 69 74 1b 5b 34  34 3b 31 31 48 1b 5b 3f  |Hexit.[44;11H.[?|
00000480  32 35 68 1b 5b 34 34 3b  31 35 48 1b 5b 34 34 3b  |25h.[44;15H.[44;|
00000490  30 48 1b 45 1b 5b 34 34  3b 31 48 1b 5b 34 34 3b  |0H.E.[44;1H.[44;|
000004a0  31 35 48 1b 5b 34 34 3b  31 48 1b 5b 32 4b 1b 5b  |15H.[44;1H.[2K.[|
000004b0  34 34 3b 31 48 1b 5b 3f  32 35 68 1b 5b 34 34 3b  |44;1H.[?25h.[44;|
000004c0  31 48 1b 5b 31 3b 34 34  72 1b 5b 34 34 3b 31 48  |1H.[1;44r.[44;1H|
000004d0  1b 5b 31 3b 34 34 72 1b  5b 34 34 3b 31 48 1b 5b  |.[1;44r.[44;1H.[|
000004e0  34 34 3b 31 48 1b 5b 32  4b 1b 5b 34 34 3b 31 48  |44;1H.[2K.[44;1H|
000004f0  1b 5b 3f 32 35 68 1b 5b  34 34 3b 31 48 1b 5b 34  |.[?25h.[44;1H.[4|
00000500  34 3b 31 48 44 6f 20 79  6f 75 20 77 61 6e 74 20  |4;1HDo you want |
00000510  74 6f 20 6c 6f 67 20 6f  75 74 20 5b 79 2f 6e 5d  |to log out [y/n]|
00000520  3f 20 1b 5b 34 34 3b 31  48 1b 5b 34 34 3b 33 31  |? .[44;1H.[44;31|
00000530  48 1b 5b 34 34 3b 31 48  1b 5b 3f 32 35 68 1b 5b  |H.[44;1H.[?25h.[|
00000540  34 34 3b 33 31 48 1b 5b  34 34 3b 33 31 48 79 1b  |44;31H.[44;31Hy.|
00000550  5b 34 34 3b 33 31 48 1b  5b 3f 32 35 68 1b 5b 34  |[44;31H.[?25h.[4|
00000560  34 3b 33 32 48 1b 5b 34  34 3b 30 48 1b 45 1b 5b  |4;32H.[44;0H.E.[|
00000570  34 34 3b 31 48 1b 5b 34  34 3b 33 32 48 1b 5b 34  |44;1H.[44;32H.[4|
00000580  34 3b 31 48 1b 5b 32 4b  1b 5b 34 34 3b 31 48 1b  |4;1H.[2K.[44;1H.|
00000590  5b 3f 32 35 68 1b 5b 34  34 3b 31 48 1b 5b 31 3b  |[?25h.[44;1H.[1;|
000005a0  34 34 72 1b 5b 34 34 3b  31 48 1b 5b 32 4a 1b 5b  |44r.[44;1H.[2J.[|
000005b0  3f 37 6c 1b 5b 31 3b 34  34 72 1b 5b 3f 36 6c 1b  |?7l.[1;44r.[?6l.|
000005c0  5b 34 34 3b 31 48 1b 5b  3f 32 35 68 1b 5b 34 34  |[44;1H.[?25h.[44|
000005d0  3b 31 48 1b 5b 3f 36 6c  1b 5b 31 3b 30 72 1b 5b  |;1H.[?6l.[1;0r.[|
000005e0  3f 37 6c 1b 5b 32 4a 1b  5b 34 34 3b 31 48 1b 5b  |?7l.[2J.[44;1H.[|
000005f0  31 3b 31 48 1b 5b 32 4b  1b 5b 34 34 3b 31 48 43  |1;1H.[2K.[44;1HC|
00000600  6f 6e 6e 65 63 74 69 6f  6e 20 74 6f 20 4d 79 2d  |onnection to My-|
00000610  44 65 76 69 63 65 2d 53  57 20 63 6c 6f 73 65 64  |Device-SW closed|
00000620  2e 0a                                             |..|
00000622

有人可以帮我解决这个问题吗?

按上面实际文件内容修改。

最佳答案

您是否在 Linux 上使用在 Windows 下创建的文本文件?在这种情况下,您必须在 Linux 发行版中安装“tofrodos”软件包,然后使用“fromdos”工具将文件从 Windows 转换为 Linux 格式:

$ fromdos <windows-file-format.txt>

关于linux - 无法从 Linux bash 中的文本文件中删除隐藏字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50904739/

相关文章:

bash - 为什么我可以使用 000 权限运行 Bash 函数?

regex - sed 从正则表达式到正则表达式的打印行

shell - 在文件中查找和替换并覆盖文件不起作用,它会清空文件

linux - 如何从文件中的同一行随机选择字符串

linux - 将 key Material 传递给 openssl 命令

c++ - 为arm-linux-gnueabi-gcc交叉编译libcurl

linux - 交换两个符号链接(symbolic link)

javascript - NodeJS - 如何将所有 console.log 写入文件?

linux - 在 X.Org 中控制对显卡的访问

linux - 使用 shell 脚本将指定列中的逗号分隔单元格分隔到新行