[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
可能有特殊字符。变量加引号测试一下。
sed -n 2,3p “%%a”>>all.txt
下载安装python3 https://www.python.org/downloads/ 代码存为xx.py 双击运行或IDLE打开F5运行

TOP

回复 5# BillGates


  虽然我并不会sed,我还让你自己找资料自己看。。另外不乱用大大之类称呼人好吧。
下载安装python3 https://www.python.org/downloads/ 代码存为xx.py 双击运行或IDLE打开F5运行

TOP

回复 5# BillGates


    并不是SED要这样。而是批处理需要这样。
下载安装python3 https://www.python.org/downloads/ 代码存为xx.py 双击运行或IDLE打开F5运行

TOP

回复 8# DAIC


c:\>sed -n 1p t.txt
sed: couldn't write 5 items to stdout: No space left on device


c:\>sed -n 2p t.txt
a


c:\>sed -n "1p" t.txt
sed: couldn't write 5 items to stdout: No space left on device

不能输出第一行是什么问题呢?
下载安装python3 https://www.python.org/downloads/ 代码存为xx.py 双击运行或IDLE打开F5运行

TOP

本帖最后由 依山居 于 2015-11-21 22:53 编辑

原因估计找到了。

t.txt转为UTF8 无BOM就解决了。
UTF8的标记导致其它命令工具输出也显示乱码了。
下载安装python3 https://www.python.org/downloads/ 代码存为xx.py 双击运行或IDLE打开F5运行

TOP

  1. o( ̄▽ ̄)o 2015/11/21 周六22:43:30.09 <( ̄︶ ̄)>
  2. c:\>sed -n 1p t.txt
  3. fj
复制代码
下载安装python3 https://www.python.org/downloads/ 代码存为xx.py 双击运行或IDLE打开F5运行

TOP

本帖最后由 依山居 于 2015-11-21 23:01 编辑

How to remove BOM from UTF-8 using sed? http://www.linuxask.com/question ... rom-utf-8-using-sed
楼主主可以考虑直接把需要处理的文件转成UTF8无BOM
加-i参数
  1. o( ̄▽ ̄)o 2015/11/21 周六22:57:19.94 <( ̄︶ ̄)>
  2. c:\>sed -n 1p t.txt
  3. sed: couldn't write 5 items to stdout: No space left on device
  4. o( ̄▽ ̄)o 2015/11/21 周六22:57:27.02 <( ̄︶ ̄)>
  5. c:\>sed -e "1s/^\xef\xbb\xbf//" t.txt
  6. fj
  7. a
  8. b
  9. d
  10. o( ̄▽ ̄)o 2015/11/21 周六22:57:47.87 <( ̄︶ ̄)>
  11. c:\>sed -i "1s/^\xef\xbb\xbf//" t.txt
  12. o( ̄▽ ̄)o 2015/11/21 周六22:58:00.97 <( ̄︶ ̄)>
  13. c:\>sed -n 1p t.txt
  14. fj
复制代码
下载安装python3 https://www.python.org/downloads/ 代码存为xx.py 双击运行或IDLE打开F5运行

TOP

回复 13# CrLf


    思路赞,但是效率变太低了哦。
下载安装python3 https://www.python.org/downloads/ 代码存为xx.py 双击运行或IDLE打开F5运行

TOP

回复 15# DAIC
  1. C:\Users\xx\Desktop>sed --version
  2. sed (GNU sed) 4.2.2
复制代码
反复测试过的。也是W7 X64。使用notepad++ 转为utf 8格式。
  1. sed: couldn't write 7 items to stdout: No space left on device
复制代码
转为无BOM格式就正常。
下载安装python3 https://www.python.org/downloads/ 代码存为xx.py 双击运行或IDLE打开F5运行

TOP

回复 17# DAIC

    但是fj 变成乱码了。
  1. C:\>sed -n "1p" t.txt > con
  2. 锘縡j
复制代码
另,我前面已经贴了我找到解决方案了。就是sed 去掉BOM头部。
下载安装python3 https://www.python.org/downloads/ 代码存为xx.py 双击运行或IDLE打开F5运行

TOP

返回列表