sed 帮助信息:
-bash-4.1$ sed --help Usage: sed [OPTION]... {script-only-if-no-other-script} [input-file]... -n, --quiet, --silent suppress automatic printing of pattern space -e script, --expression=script add the script to the commands to be executed -f script-file, --file=script-file add the contents of script-file to the commands to be executed --follow-symlinks follow symlinks when processing in place; hard links will still be broken. -i[SUFFIX], --in-place[=SUFFIX] edit files in place (makes backup if extension supplied). The default operation mode is to break symbolic and hard links. This can be changed with --follow-symlinks and --copy. -c, --copy use copy instead of rename when shuffling files in -i mode. While this will avoid breaking links (symbolic or hard), the resulting editing operation is not atomic. This is rarely the desired mode; --follow-symlinks is usually enough, and it is both faster and more secure. -l N, --line-length=N specify the desired line-wrap length for the `l' command --posix disable all GNU extensions. -r, --regexp-extended use extended regular expressions in the script. -s, --separate consider files as separate rather than as a single continuous long stream. -u, --unbuffered load minimal amounts of data from the input files and flush the output buffers more often --help display this help and exit --version output version information and exit If no -e, --expression, -f, or --file option is given, then the first non-option argument is taken as the sed script to interpret. All remaining arguments are names of input files; if no input files are specified, then the standard input is read. GNU sed home page: <http://www.gnu.org/software/sed/>. General help using GNU software: <http://www.gnu.org/gethelp/>. E-mail bug reports to: <[email protected]>. Be sure to include the word ``sed'' somewhere in the ``Subject:'' field.
替换文件内容:
源文件内容:
supplier.size=100 pic.size=100 httpconnect.timeout=20000 httpclient.maxConnections=20 retryTimes=1 job.initial-delay=0 job.fixed-delay=60000
-bash-4.1$ sed 's/supplier.size=100/supplier.size=200/g' task.properties supplier.size=200 pic.size=100 httpconnect.timeout=20000 httpclient.maxConnections=20 retryTimes=1 job.initial-delay=0 job.fixed-delay=60000
sed -i 's/supplier.size=100/supplier.size=200/g' task.properties
修改指定行的内容:
-bash-4.1$ sed '7,8s/job/JOB/g' task.properties supplier.size=100 pic.size=100 httpconnect.timeout=20000 httpclient.maxConnections=20 retryTimes=1 JOB.initial-delay=0 JOB.fixed-delay=60000
-bash-4.1$ sed -e 's/supplier.size=100/supplier.size=200/g' -e 's/pic.size=100/pic.size=200/g' task.properties supplier.size=200 pic.size=200 httpconnect.timeout=20000 httpclient.maxConnections=20 retryTimes=1 job.initial-delay=0 job.fixed-delay=60000
删除行:
删除1-2行:
-bash-4.1$ sed '1,2d' task.properties httpconnect.timeout=20000 httpclient.maxConnections=20 retryTimes=1 job.initial-delay=0 job.fixed-delay=60000
-bash-4.1$ sed '2d' task.properties supplier.size=100 httpconnect.timeout=20000 httpclient.maxConnections=20 retryTimes=1 job.initial-delay=0 job.fixed-delay=60000
-bash-4.1$ sed -n '1,2p' task.properties supplier.size=100 pic.size=100
-bash-4.1$ sed '/supplier.size/,/retryTimes/s/pic.size=100/pic.size=200/g' task.properties supplier.size=100 pic.size=200 httpconnect.timeout=20000 httpclient.maxConnections=20 retryTimes=1