2 qq 17801951 qq_17801951 于 2016.04.05 17:53 提问

关于awk替换删除字符串的问题 1C
awk

原文件test.txt

apple
banana
(随机不固定一行文本)
orange
peach
pear
tangerine
watermelon

要求:
1. apple替换成strawberry
2. banana下面一行替换成litchi
3. 从orange开始到tangerine结束的行不要

最终的效果:

strawberry
banana
litchi
watermelon

求问大虾们awk应该怎么写?

1个回答

CSDNXIAON
CSDNXIAON   2016.04.05 18:02

awk 字符串替换 gsub
sed awk 替换 多个 文件 字符串
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Linux基础——awk替换
Linux基础知识,awk 分段功能介绍。
awk条件查找字符串并进行替换
file 222.247.0.0/18,222.247.0.0/17,222.247.0.0/13,222.247.0.0/14 123.46.0.0/19,123.46.0.0/17,123.46.0.0/13,123.46.0.0/14 要求:查找每行当中最大的那个数字,然后在最前面加上*号。 处理 awk -F',' '{for(i=1;i 解析: 首先要找到最大值,m存取的是
使用awk读取替换文件内容
这两天刚刚接触了linux 的shell, 记录一下供自己以后参考 awk命令: awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk的处理文本和数据的方式是这样的,它逐行扫描文件
awk 字符串替换 gsub
gsub(r,s)    在整个$0中用s替代r gsub(r,s,t)    在整个t中用s替代r awk -F "," '{str=gsub(/\t*| *$/,"",$3);ret=$1","$2","$3","NR;print ret}' 去除第三个字段的空格与制表符 awk -F "\t" '{if($3=="吉林") {gsub($3,"吉林省",$3);pr
记录 awk + sed替换文件内容的写法
一个shell脚本con.sh,根据输入参数,从a_file文件获取对应的字符串,用这个字符串替换b_file文件中某个字符串。 a_file #lang seq Lua 1 C++ 2 b_file Lang$SEQ 输入,con.sh Lua, 输出: Lang1 con.sh SEQ=`grep "\" a_f
awk 替换后写入文件
seq 14 1 30 | while read var;do awk '/13/{c++;if(c==2){gsub("13",'"${var}"');}}1' test.html > test.tmp && mv test.tmp test.html ;done
awk 删除文本文件换行符
# awk 'NR == 1 {p = $0} NR > 1 {print p; p = $0} END{printf p} ' SerialNumber.dat > tmp.txt # cp tmp.txt SerialNumber.dat 管理员在2009年8月13日编辑了该文章文章。 -
awk 字符串函数
awk提供了许多强大的字符串函数,见下表:awk内置字符串函数gsub(r,s)    在整个$0中用s替代rgsub(r,s,t)    在整个t中用s替代rindex(s,t)    返回s中字符串t的第一位置length(s)    返回s长度match(s,r)    测试s是否包含匹配r的字符串split(s,a,fs)    在fs上将s分成序列asprint(fmt,
awk 替换文本中某一字段
#cat $fileinp| awk '/$varkey/{$3=$var1}1{print $0}' filetmp ;mv filetmp $fileinp   #cat $fileinp | grep 'Basis_ome_bat' | awk '$3="222" {print $0}'    ### awk '/Basis_ome_bat/{$2=$2+300}1' file 1
awk gsub 批量替换
echo "d&g&#m#k=% " | awk -F" " '{print $0; gsub(/[&\t\n%#=]/,"", $0); print $0; }' -d&g&#m#k=% dgmkecho "d&g&#m#k=% " | awk -F" " '{print $0; gsub(/&|\t|\n|%|#|=/,"", $0); print $0; }' -