[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 CrLf 于 2013-7-31 06:42 编辑

原来 ps 打不过的都是“魔教”...不明觉厉
先上一个 sed:
  1. sed "$d" a.txt
复制代码
如果尾行没有换行,批里面是一句话搞定:
  1. findstr $ a.txt
复制代码
尾行带换行就麻烦点:
  1. sort /+99 a.txt|more +1|sort /+99
复制代码
powershell 的我也抛个砖:
  1. ($a=get-content a.txt)[0..-($a.count-2)]
复制代码
但水平有限,上面这个办法因为两方面的原因无法兼容单行的 a.txt,所以改用 where-object:
  1. ($a = get-content a.txt)|where-object{$_.readcount -lt ($a.count+0)}
复制代码
另,关于高压锅的故事我很想聊聊 ahk...当然不是在这里

TOP

本帖最后由 CrLf 于 2013-7-31 17:33 编辑

回复 7# gawk


    莽撞了,题目都没看清...
    sed 和 5 楼没区别:
  1. sed "s/\(.*\) .*/\1/" a.txt
复制代码
批的常规解法处理这个比较绕也没意思,来个另类解:
  1. @echo off
  2. for /f "delims=" %%a in (a.txt) do (
  3.    set "str= %%a"
  4.    setlocal enabledelayedexpansion
  5.    set "str=!str: = "!
  6.    set "str=!str: "= !"
  7.    echo;!str:~1!
  8.    endlocal
  9. )
  10. pause
复制代码
也写个 powershell:
  1. (type a.txt) -replace "[^ ]*$",""
复制代码
再来个用 split 的,没有 replace 方便:
  1. get-content a.txt | foreach-object{$b = $_.split();$b[$b.count-1]="";$b -join " "}
复制代码
1

评分人数

TOP

返回列表