linux sed简单使用

来源:互联网 发布:js遍历特定标签 编辑:程序博客网 时间:2024/06/05 16:21

sed 帮助信息:

-bash-4.1$ sed --helpUsage: 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 exitIf no -e, --expression, -f, or --file option is given, then the firstnon-option argument is taken as the sed script to interpret.  Allremaining arguments are names of input files; if no input files arespecified, 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: <bug-gnu-utils@gnu.org>.Be sure to include the word ``sed'' somewhere in the ``Subject:'' field.

替换文件内容:

源文件内容:

supplier.size=100pic.size=100httpconnect.timeout=20000httpclient.maxConnections=20retryTimes=1job.initial-delay=0job.fixed-delay=60000

替换后输出:

-bash-4.1$ sed 's/supplier.size=100/supplier.size=200/g' task.properties supplier.size=200pic.size=100httpconnect.timeout=20000httpclient.maxConnections=20retryTimes=1job.initial-delay=0job.fixed-delay=60000

这时sed并没有实际修改源文件内容,只是动态的修改了内容中源文件内容并打印出来,如何想修改源文件内容并保存需要使用 -i 参数:

sed -i 's/supplier.size=100/supplier.size=200/g' task.properties 

修改指定行的内容:

-bash-4.1$ sed '7,8s/job/JOB/g' task.propertiessupplier.size=100pic.size=100httpconnect.timeout=20000httpclient.maxConnections=20retryTimes=1JOB.initial-delay=0JOB.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=200pic.size=200httpconnect.timeout=20000httpclient.maxConnections=20retryTimes=1job.initial-delay=0job.fixed-delay=60000

删除行:

删除1-2行:

-bash-4.1$ sed '1,2d' task.properties httpconnect.timeout=20000httpclient.maxConnections=20retryTimes=1job.initial-delay=0job.fixed-delay=60000


删除指定行:

-bash-4.1$ sed '2d' task.properties supplier.size=100httpconnect.timeout=20000httpclient.maxConnections=20retryTimes=1job.initial-delay=0job.fixed-delay=60000

显示指定行:

-bash-4.1$ sed -n '1,2p' task.properties supplier.size=100pic.size=100


替换指定内容之间的部分:

-bash-4.1$ sed '/supplier.size/,/retryTimes/s/pic.size=100/pic.size=200/g' task.properties supplier.size=100pic.size=200httpconnect.timeout=20000httpclient.maxConnections=20retryTimes=1

更多介绍请参考:http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2856901.html


0 0
原创粉丝点击