Linux
sed -in-place -e 's/old/new/g' text.txt
Windows
@echo off
if %1%.==. (
echo Usage: %0% FILE_FULL_PATH SOURCE_STRING DESTINATION_STRING
echo Where: FILE_FULL_PATH is the full path of the file to be replaced in
echo SOURCE_STRING is string to be replaced
echo DESTINATION_STRING is string to be replaced as
pause
exit
)
if %2%.==. (
echo Usage: %0% FILE_FULL_PATH SOURCE_STRING DESTINATION_STRING
echo Where: FILE_FULL_PATH is the full path of the file to be replaced in
echo SOURCE_STRING is string to be replaced
echo DESTINATION_STRING is string to be replaced as
pause
exit
)
if %3%.==. (
echo Usage: %0% FILE_FULL_PATH SOURCE_STRING DESTINATION_STRING
echo Where: FILE_FULL_PATH is the full path of the file to be replaced in
echo SOURCE_STRING is string to be replaced
echo DESTINATION_STRING is string to be replaced as
pause
exit
)
setlocal enabledelayedexpansion
set file=
rem set /p replaced= Please input the file full path:
set "file=%1%"
for %%i in ("%file%") do set file=%%~fi
echo.
set replaced=
rem set /p replaced= Source String:
set "replaced=%2%"
echo.
set all=
rem set /p all= Destination String:
set "all=%3%"
echo.
for /f "delims=" %%i in ('type "%file%"') do (
set str=%%i
set "str=!str:%replaced%=%all%!"
echo !str!>>"%file%".tmp
)
copy "%file%" "%file%".bak >nul 2>nul
move "%file%".tmp "%file%"
rem start "" "%file%"
if %1%.==. (
echo Usage: %0% FILE_FULL_PATH SOURCE_STRING DESTINATION_STRING
echo Where: FILE_FULL_PATH is the full path of the file to be replaced in
echo SOURCE_STRING is string to be replaced
echo DESTINATION_STRING is string to be replaced as
pause
exit
)
if %2%.==. (
echo Usage: %0% FILE_FULL_PATH SOURCE_STRING DESTINATION_STRING
echo Where: FILE_FULL_PATH is the full path of the file to be replaced in
echo SOURCE_STRING is string to be replaced
echo DESTINATION_STRING is string to be replaced as
pause
exit
)
if %3%.==. (
echo Usage: %0% FILE_FULL_PATH SOURCE_STRING DESTINATION_STRING
echo Where: FILE_FULL_PATH is the full path of the file to be replaced in
echo SOURCE_STRING is string to be replaced
echo DESTINATION_STRING is string to be replaced as
pause
exit
)
setlocal enabledelayedexpansion
set file=
rem set /p replaced= Please input the file full path:
set "file=%1%"
for %%i in ("%file%") do set file=%%~fi
echo.
set replaced=
rem set /p replaced= Source String:
set "replaced=%2%"
echo.
set all=
rem set /p all= Destination String:
set "all=%3%"
echo.
for /f "delims=" %%i in ('type "%file%"') do (
set str=%%i
set "str=!str:%replaced%=%all%!"
echo !str!>>"%file%".tmp
)
copy "%file%" "%file%".bak >nul 2>nul
move "%file%".tmp "%file%"
rem start "" "%file%"
转载于:https://blog.51cto.com/robertleepeak/197453