如何创建仅含单个空格且无换行符的文件?
创建仅含单个空格的文件(无末尾换行)
我太懂你这个困扰了——大多数常用工具默认都会在文件末尾偷偷加换行符,要搞出只存单个空格的文件确实得绕开这些默认行为。这里给你几个亲测有效的方法:
方法1:用printf精准控制输出
printf不像echo那样自带换行强迫症,直接执行就能生成纯空格文件:
printf " " > single_space.txt
它会严格按照你指定的内容输出,就是单个空格,不会多添任何字符。
方法2:用dd做字节级写入
如果需要更底层的控制,dd能精准写入指定字节数的内容:
echo -n " " | dd of=single_space.txt bs=1 count=1
echo -n确保输出不带换行的空格,dd则只把这1个字节的空格写入目标文件。
方法3:用tr替换生成空格
也可以通过字符替换的方式实现:
echo "x" | tr "x" " " > single_space.txt
把临时字符x替换成空格,最终文件里就只剩单个空格,不会带echo的换行。
为啥之前的方法失败?
echo " " > file:echo命令默认会在输出末尾追加换行符,哪怕你只输入空格,最终文件里是空格+换行两个字符。- vi/nano等编辑器:这类交互式编辑器遵循Unix文本文件规范,默认会在最后一行补换行。非要用编辑器的话,可以在vi里先执行
:set noeol关闭自动加换行,再保存,但操作起来不如命令行直接。
内容的提问来源于stack exchange,提问作者eatorres
相关产品推荐
相关产品推荐

