[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. sed "$s/..$/ba/" 1.txt > 2.txt
复制代码

TOP

回复 6# taofan712

你这个代码可以这样优化:
1、获取文件行数和获取尾行内容,两个操作可以合并到一个for循环里面。
2、最后一个for循环里面直接输出变量的值,没有必要写成三行:
set line=%%e
echo;!line!
set /a n+=1
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=1* delims=:" %%a in ('findstr /n .* 1.txt') do (
  4.     set "ln=%%a"
  5.     set "last=%%b"
  6. )
  7. (for /f "tokens=1* delims=:" %%a in ('findstr /n .* 1.txt') do (
  8.     if %%a neq %ln% (
  9.         echo;%%b
  10.     ) else (
  11.         echo;!last:~0,-2!ba
  12.     )
  13. ))>2.txt
复制代码
1

评分人数

    • taofan712: 谢谢,我老是想直接去获取。技术 + 1

TOP

返回列表