V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
c7898585
V2EX  ›  程序员

批处理删除符号

  •  
  •   c7898585 · 2016-07-14 10:25:17 +08:00 · 2953 次点击
    这是一个创建于 3080 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有一个 test.txt 的文件中有一个符号 → 需要删除掉,谁来帮忙写一个?

    第 1 条附言  ·  2016-07-14 14:19:28 +08:00
    尝试了各种方法,不知道是不是符号的问题,所以都没有办法删除。。。
    17 条回复    2016-07-15 09:51:17 +08:00
    adexbn
        1
    adexbn  
       2016-07-14 10:36:00 +08:00
    Alins-MBA:Downloads alin$ echo → >> test.txt
    Alins-MBA:Downloads alin$ cat test.txt


    Alins-MBA:Downloads alin$ sed -i -e 's/\→//g' test.txt
    Alins-MBA:Downloads alin$ cat test.txt


    Alins-MBA:Downloads alin$
    knightdf
        2
    knightdf  
       2016-07-14 10:37:06 +08:00
    sed -i 's/→/x/g' test.txt
    knightdf
        3
    knightdf  
       2016-07-14 10:38:00 +08:00
    @knightdf 把 x 换成‘’。。。我给你换成 x 了
    adexbn
        4
    adexbn  
       2016-07-14 10:38:09 +08:00
    [root@cm-redirector ~]# rm -f test.txt
    [root@cm-redirector ~]# clear
    [root@cm-redirector ~]# uname -a
    Linux cm-redirector 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
    [root@cm-redirector ~]# echo → >> test.txt
    [root@cm-redirector ~]# echo → >> test.txt
    [root@cm-redirector ~]# cat test.txt


    [root@cm-redirector ~]# sed -i 's/\→//g' test.txt
    [root@cm-redirector ~]# cat test.txt


    [root@cm-redirector ~]#
    adexbn
        5
    adexbn  
       2016-07-14 10:38:51 +08:00
    @c7898585 mac 和 linux 的都给你了,测试过程也给你了,要 windows 的吗?
    awanabe
        6
    awanabe  
       2016-07-14 10:48:36 +08:00
    打开编辑器, 选择替换, 替换成'' 不就全部删掉了
    lowzoom
        7
    lowzoom  
       2016-07-14 10:49:22 +08:00
    @adexbn 难道不是 Windows 下的脚本才叫批处理?

    https://en.wikipedia.org/wiki/Batch_file
    A batch file is a kind of script file in DOS, OS/2 and Windows.
    c7898585
        8
    c7898585  
    OP
       2016-07-14 10:50:34 +08:00
    @adexbn 是 windows 的 bat 文件处理的
    c7898585
        9
    c7898585  
    OP
       2016-07-14 10:50:52 +08:00
    @awanabe 用 bat 处理的
    awanabe
        10
    awanabe  
       2016-07-14 11:22:06 +08:00
    @c7898585 看成了批量处理 == :doge
    ETiV
        11
    ETiV  
       2016-07-14 11:59:29 +08:00 via iPhone
    我都忘了 Windows bat 文件中文名叫批处理……
    c7898585
        12
    c7898585  
    OP
       2016-07-14 12:45:31 +08:00
    @ETiV
    adexbn
        13
    adexbn  
       2016-07-14 13:34:14 +08:00
    @c7898585

    -----以下是代码

    @echo off
    setlocal enabledelayedexpansion
    set INTEXTFILE=test.txt
    set OUTTEXTFILE=test_out.txt
    set SEARCHTEXT=→
    set REPLACETEXT=
    set OUTPUTLINE=

    for /f "tokens=1,* delims=¶" %%A in ( '"type %INTEXTFILE%"') do (
    SET string=%%A
    SET modified=!string:%SEARCHTEXT%=%REPLACETEXT%!

    echo !modified! >> %OUTTEXTFILE%
    )
    del %INTEXTFILE%
    rename %OUTTEXTFILE% %INTEXTFILE%
    c7898585
        14
    c7898585  
    OP
       2016-07-14 13:42:08 +08:00
    @adexbn
    ................
    这个命令把所有的内容头替换成了
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    kenshin912
        15
    kenshin912  
       2016-07-14 13:59:38 +08:00
    https://sourceforge.net/projects/fart-it/
    下载回来的是 fart.exe
    批处理调用这个 fart.exe 即可.

    @echo off
    set text=→
    set replace=
    %~dp0fart.exe test.txt %text% %replace%
    exit


    完事
    c7898585
        16
    c7898585  
    OP
       2016-07-14 14:18:41 +08:00
    @kenshin912 found one file
    但是无法删除。。。
    naomhan
        17
    naomhan  
       2016-07-15 09:51:17 +08:00
    我怎么感觉是 tab 缩进符号
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5345 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 07:05 · PVG 15:05 · LAX 23:05 · JFK 02:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.