有关cmd命令替换文本文件某一段内容?

已举报 回答 关注

有关cmd命令替换文本文件某一段内容?

  • 回答数

    4

  • 浏览数

    8,432

4个回答 默认排序
  • 默认排序
  • 按时间排序

已采纳
@echo off&SetLocal EnableDelayedExpansion
Set hour=%Time:~,2%
Set minute=%Time:~3,2%
Set /a minute+=10
::以下代码处理两个临界点:分钟数为50-59,小时数为23
Set /a n=(minute/60)
If %n%==1 (
Set /a hour+=1 & Set /a minute%%=60
Set /a h=!hour!%%24
If !h!==0 Set hour=0
Set str=!hour!:!minute!
) Else (
Set str=%hour%:%minute%
)
::以下代码替换文本内容,假设要处理的文本为1.txt
(For /f "delims=" %%i in (1.txt) do (
echo %%i| Find /i "time=" >nul
If !errorLevel!==0 (echo time=%str%) Else (echo %%i)
))>11.txt
start 11.txt
pause
取消 评论
1.先解答第一个:
新建一个shell脚本,具体内容如下:
vi comp.sh

#!/bin/bash
while read lineB
do
x=0
while read lineA
do
if [ $lineB != $lineA ]
then
x=$[ x + 1 ]
if [ $x = 4 ]
then
echo $lineB >> c.txt
fi
fi
done</tmp/a.txt
done</tmp/b.txt

注意给脚本加上可执行权限:
chmod +x comp.sh

最后执行以下:
sh comp.sh

2.第二个问题就简单了。(假设a.txt中有中文)

cat a.txt | tr -d $'\x80-\xff'
取消 评论
开始 运行 cmd 输入edit a.txt 进去后删除内容就可以了
取消 评论
@echo off
setlocal enabledelayedexpansion
set time=%time:~0,5%
for /f "delims=" %%i in (1.txt) do (
echo %%i|findstr /i "time"
if !errorlevel! equ 0 (echo time=%time%>>2.txt)else (echo %%i>>temp.txt))
del /q 1.txt&&move temp.txt 1.txt
将这个保存为bat文件,放在你的TXT文件同一目录。其中1.txt为你的原文件。
取消 评论
ZOL问答 > 有关cmd命令替换文本文件某一段内容?

举报

感谢您为社区的和谐贡献力量请选择举报类型

举报成功

经过核实后将会做出处理
感谢您为社区和谐做出贡献

提示

确定要取消此次报名,退出该活动?