愿意只保留最后一块包含点的单词(仍然保留不包含图案的单词):
sed似乎只匹配最后一句话:
$ echo "Here this.is.a.start is a very.nice.String that.is.the.end yes " | sed 's/.*[ ]\([^ ]*\.\)\([^ ]*\)[ ].*/\2/g'
end
$ echo "Here this.is.a.start is a very.nice.String that.is.the.end yes " | sed 's/.*[ ]\([^ ]*\.\)\(
我正在尝试重新组织我的数据:我在一个data.table中有成百上千的行,我需要将这些行中的一些合并到一行“事件”中。 我的数据由三列构成: Vid (“值标识符”)、Date和Value。 有四个“值标识符”,因此有四种类型的线:T代表温度,X代表重量,O代表偏移量,R代表一个九位数的代码来识别一个人。 通常有许多O线(有时还有T线),直到出现“事件”,并且组成如下:一到三条R线,然后是可变数量的X线。事件通过一系列其他O线结束(请参见。Example1),或者另一个个体的检测(可能是相同的,也可能是另一个):一到三条R线(请参见。Example2)。 Example1: Vid Date
我有一个文本文件(比如说文件)
Name
aaa
bbb
ccc
Name
xxxx
Name
yyyy
tttt
我想从文件中删除"Name“,除非它发生在标题中。我知道sed会删除行,但如果我这样做
sed '/Name/d' file
它删除了所有的“名称”。
期望输出:
Name
aaa
bbb
ccc
xxxx
yyyy
tttt
你能建议我应该使用什么选项吗?
我有一个文件,里面有很多行文字。我需要删除引号"字符的所有实例。但是,我只想在它们落在两个边界之间的时候才把它们移除。
例如,一个示例行看起来可能如下:
"status":0,"text":"some stuff goes in here. and some more "here","user":"1234"
下界是"text":",上界是","user"。
因此,在上面的一行中,只删除了一个" (在单词“这里”之前)。
我看过很多关于如何移除
为什么此脚本适用于旧版本的文件?
我想删除csv的第一行,如果该行包含文本KP_TITEL,如果我在sed之后使用出口测试脚本,一切正常。但是只要我想用while loop测试它,这个文件仍然包含第一行。
有什么想法吗?
sed -i '/KP_TITEL/d' "$1"
# read data
input=$1
while IFS=';' read -r f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13
do
other things
done < "$input"
我在shell脚本中使用sed来编辑文件系统路径名。假设我想要替换
/foo/bar
使用
/baz/qux
但是,sed的s///命令使用正斜杠/作为分隔符。如果这样做,我会看到一条错误消息,如下所示:
▶ sed 's//foo/bar//baz/qux//' FILE
sed: 1: "s//foo/bar//baz/qux//": bad flag in substitute command: 'b'
类似地,有时我想选择行范围,比如pattern foo/bar和baz/qux之间的行。再说一次,我不能这样做:
▶ sed '/
我找到了一个非常好的教程,它解释了一些实用的sed示例。
最后一个(数字10)如下:
$ sed -e 's/<[^>]*>//g'
This <b> is </b> an <i>example</i>.
This is an example.
有人能帮我熬过这一关吗?
总结一下我所处的位置: 1.我理解:s/x/y/g是一个命令,告诉sed“全局替换regex x和regex y 2。看起来-e标志在man页面上以某种”交互模式“放置sed:
-e command
Append t
我有一个格鲁选项文件,我想通过脚本修改。我想添加额外的引导加载程序选项。
该文件可能会随着时间的推移而改变,因此我希望通过在映像附带的任何引导加载程序选项中添加一些适应未来版本的内容。
例如,引导加载程序文件包含以下内容:
# Set the recordfail timeout
GRUB_RECORDFAIL_TIMEOUT=0
# Do not wait on grub prompt
GRUB_TIMEOUT=0
# Set the default commandline
GRUB_CMDLINE_LINUX_DEFAULT="console=tty1 console=ttyS
这是我的文件的一部分(有10000行):
N N N N N N N N N N N
N N N N N N N N N N N
N N N N R N N N N N N
N N N N N N N N N N N
N N N N N N N N N N N
N N N N N N N N N N N
N N N N N N N N N N N
A N N N N N N N N N N
N N N N N N N N N N N
N N N N N N N N G N N
我想移除那些所有基因型都是N的品系,只保留那些至少有一个非N基因型的品系。这是我想要的输出:
N N N N R N
我试图处理一个包含多个条目的文本文件,我对包含名称、Id、大小和Page83 ID的文本的数据字段感兴趣。
Command: show PhysicalDisk name='IBM (721)'
Status: Success
Time: 2017-06-30 15:50:50,051 EST
Data:
Name = IBM (721)
Id = 0004fb0000180000d27ba1c974a69157
Size (GiB) = 15.0
Shareable = No
Page83 ID = 360050768018385ace8000000000
这应该是非常简单的,但对于我的生活来说,今天下午我就是无法做到这一点。
所讨论的文件的行如下所示:
PART NUMBER PART NUMBER QUANTITY WEIGHT -999 -4,999 -9,999
w/ UL APPROVAL
MIN-3
我需要用">“字符在每一行(如"MIN-3”行)前面加上一个“>”字符,唯一能明确区分这些行和其他行的是两件事:
第一个字符是空格“。
这些