我正在从文件中提取字符串变量,然后将其打印到屏幕上。问题是仅使用echo
可以工作,但是如果我使用echo -n
,则什么也不会打印。这是一个示例:
$ Var=$(grep -a MrEdbType FileName)
$ echo $Var
Prot
$ echo -n $Var
$
类似地,如果我使用printf
,则仅当我添加\n
时它才有效:
$ Var=$(grep -a MrEdbType FileName)
$ printf "%s" $Var
$
$ printf "%s\n" $Var
Prot
我提取的字符串有什么问题?该文件是一个DICOM文件,包含文本和二进制数据的混合,因此使用-a
选项。
如评论中所建议,使用hexdump -C
选项生成以下结果:
$ Var=$(grep -a MrEdbType FileName | hexdump -C)
$ echo $Var
00000000 50 72 6f 74 0d 0a |Prot..| 00000006
答案 0 :(得分:0)
通过建议的链接可以找到答案-在sed 's/\r$//'
搜索的末尾使用grep
解决了该问题!