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

批处理删除符号

  •  
  •   c7898585 · Jul 14, 2016 · 4202 views
    This topic created in 3769 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
    adexbn
    Jul 14, 2016
    1
    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
    knightdf
    Jul 14, 2016
    2
    sed -i 's/→/x/g' test.txt
    knightdf
    knightdf
    Jul 14, 2016
    3
    @knightdf 把 x 换成‘’。。。我给你换成 x 了
    adexbn
    adexbn
    Jul 14, 2016
    4
    [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
    adexbn
    Jul 14, 2016
    5
    @c7898585 mac 和 linux 的都给你了,测试过程也给你了,要 windows 的吗?
    awanabe
    awanabe
    Jul 14, 2016
    6
    打开编辑器, 选择替换, 替换成'' 不就全部删掉了
    lowzoom
    lowzoom
    Jul 14, 2016
    7
    @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
    c7898585
    OP
    Jul 14, 2016
    8
    @adexbn 是 windows 的 bat 文件处理的
    c7898585
    c7898585
    OP
    Jul 14, 2016
    9
    @awanabe 用 bat 处理的
    awanabe
    awanabe
    Jul 14, 2016
    10
    @c7898585 看成了批量处理 == :doge
    ETiV
    ETiV
    Jul 14, 2016 via iPhone
    11
    我都忘了 Windows bat 文件中文名叫批处理……
    c7898585
    c7898585
    OP
    Jul 14, 2016
    12
    @ETiV 额
    adexbn
    adexbn
    Jul 14, 2016
    13
    @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
    c7898585
    OP
    Jul 14, 2016
    14
    @adexbn
    ................
    这个命令把所有的内容头替换成了
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    string:=
    kenshin912
    kenshin912
    Jul 14, 2016
    15
    https://sourceforge.net/projects/fart-it/
    下载回来的是 fart.exe
    批处理调用这个 fart.exe 即可.

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


    完事
    c7898585
    c7898585
    OP
    Jul 14, 2016
    16
    @kenshin912 found one file
    但是无法删除。。。
    naomhan
    naomhan
    Jul 15, 2016
    17
    我怎么感觉是 tab 缩进符号
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1448 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 11:20 · PVG 19:20 · LAX 03:20 · JFK 06:20
    ♥ Do have faith in what you're doing.