Linux sed命令用法与示例
Sed是Stream EDitor的缩写,是用于对文件执行文本转换和操作的命令,包括搜索和替换文本等。 使用Linux sed命令,即使不打开文本文件也可以对其进行操作和编辑。
语法命令:sed {OPTIONS} filename
在大多数情况下,sed命令用于替换文本字符串。以下命令将“ Linux ”替换为“ Unix ”。
sed 's/Linux/Unix/' linuxgeek.txt
其中:
缺省情况下,sed命令仅替换line中的第一个匹配项。 随后出现的情况将不会被替换或替换。
示例:替换一行中的第2个字符串,使用 /2
sed 's/Linux/Unix/2' linuxgeek.txt
使用全局替换 /g
sed 's/Linux/Unix/g' linuxgeek.txt
示例:替换第2行中出现的所有字符串
sed '2 s/Linux/Unix/g' linuxgeek.txt
示例1:替换第1-3行的字符串
sed '1,3 s/Linux/Unix/g' linuxgeek.txt
示例2:替换从文件的第二行到末行的所有匹配项
sed '2,$ s/Linux/Unix/g' linuxgeek.txt
示例:给一行的每个单词的第一个字符上加上括号。
echo "Hey Guys, Welcome To Linux Operating System" | sed 's/\(\b[A-Z]\)/\(\1\)/g'
output:
(H)ey (G)uys, (W)elcome (T)o (L)inux (O)perating (S)ystem
sed 'nd' filename.txt
其中,nd 表示第n行
示例1:删除文件中的第3行
sed '3d' linuxgeek.txt
示例2:删除文件中的从第3行到第5行
sed '3,5d' linuxgeek.txt
or_dir=$1 new_dir=$2 new_dir=${new_dir//\//\\\/} new_dir// sed -i 's/^.*TRACE_OUTPUT_FILE.*$/TRACE_OUTPUT_FILE '$new_dir'\/mix.tr/g' $or_di
参考:https://www.journaldev.com/28984/linux-sed-command-examples