• 请不要在回答技术问题时复制粘贴 AI 生成的内容
c7898585
V2EX  ›  程序员

批处理删除符号

  •  
  •   c7898585 · Jul 14, 2016 · 3716 views
    This topic created in 3589 days ago, the information mentioned may be changed or developed.

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

    Supplement 1  ·  Jul 14, 2016
    尝试了各种方法,不知道是不是符号的问题,所以都没有办法删除。。。
    17 replies    2016-07-15 09:51:17 +08:00
    adexbn
        1
    adexbn  
       Jul 14, 2016
    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  
       Jul 14, 2016
    sed -i 's/→/x/g' test.txt
    knightdf
        3
    knightdf  
       Jul 14, 2016
    @knightdf 把 x 换成‘’。。。我给你换成 x 了
    adexbn
        4
    adexbn  
       Jul 14, 2016
    [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  
       Jul 14, 2016
    @c7898585 mac 和 linux 的都给你了,测试过程也给你了,要 windows 的吗?
    awanabe
        6
    awanabe  
       Jul 14, 2016
    打开编辑器, 选择替换, 替换成'' 不就全部删掉了
    lowzoom
        7
    lowzoom  
       Jul 14, 2016
    @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
       Jul 14, 2016
    @adexbn 是 windows 的 bat 文件处理的
    c7898585
        9
    c7898585  
    OP
       Jul 14, 2016
    @awanabe 用 bat 处理的
    awanabe
        10
    awanabe  
       Jul 14, 2016
    @c7898585 看成了批量处理 == :doge
    ETiV
        11
    ETiV  
       Jul 14, 2016 via iPhone
    我都忘了 Windows bat 文件中文名叫批处理……
    c7898585
        12
    c7898585  
    OP
       Jul 14, 2016
    @ETiV
    adexbn
        13
    adexbn  
       Jul 14, 2016
    @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
       Jul 14, 2016
    @adexbn
    ................
    这个命令把所有的内容头替换成了
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    kenshin912
        15
    kenshin912  
       Jul 14, 2016
    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
       Jul 14, 2016
    @kenshin912 found one file
    但是无法删除。。。
    naomhan
        17
    naomhan  
       Jul 15, 2016
    我怎么感觉是 tab 缩进符号
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5639 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 64ms · UTC 07:21 · PVG 15:21 · LAX 00:21 · JFK 03:21
    ♥ Do have faith in what you're doing.