标签: sed

如何使用sed从字符串中删除前X个字符?

我正在一个小工业盒子里为嵌入式Linux编写shell脚本.我有一个包含文本的变量pid: 1234,我想从行中删除前X个字符,因此只剩下1234个字符.我有更多需要"清理"的变量,因此我需要删除X个第一个字符,${string:5}并且由于某种原因在我的系统中不起作用.

盒子似乎唯一拥有的是sed.

我正在尝试使以下工作:

result=$(echo "$pid" | sed 's/^.\{4\}//g')
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

bash shell sed

112
推荐指数
9
解决办法
20万
查看次数

如何用sed替换整线?

假设我有一个带行的文件

aaa=bbb

现在我想用以下代替它们:

aaa=xxx

我可以这样做:

sed "s/aaa=bbb/aaa=xxx/g"

现在我有一个包含几行的文件,如下所示:

aaa=bbb
aaa=ccc
aaa=ddd
aaa=[something else]

我怎么能代替所有该行aaa=[something]aaa=xxx使用sed的

regex sed

110
推荐指数
4
解决办法
24万
查看次数

如何使用sed/grep在两个单词之间提取文本?

我试图输出一个字符串,其中包含字符串的两个单词之间的所有内容:

输入:

"Here is a String"
Run Code Online (Sandbox Code Playgroud)

输出:

"is a"
Run Code Online (Sandbox Code Playgroud)

使用:

sed -n '/Here/,/String/p'
Run Code Online (Sandbox Code Playgroud)

包括端点,但我不想包含它们.

string bash grep sed

110
推荐指数
10
解决办法
40万
查看次数

sed全字搜索和替换

如何使用sed搜索和替换整个单词?

sed -i 's/[oldtext]/[newtext]/g' <file> 
Run Code Online (Sandbox Code Playgroud)

也将替换[oldtext]我不希望它做的部分匹配.

shell sed

107
推荐指数
4
解决办法
10万
查看次数

保留行结尾

我运行sed在Windows上进行一些替换,我注意到它会自动将行结尾转换为Unix(\n).是否可以选择告诉sed使用Windows行结尾(\ r \n),甚至更好地保留文件中的行结尾?

注意:我使用unxutils中的sed:http://unxutils.sourceforge.net/

windows sed

106
推荐指数
3
解决办法
2万
查看次数

在Bash中,如何在文件中的每一行之后添加字符串?

如何使用bash在文件中的每一行后添加一个字符串?是否可以使用sed命令完成,如果是这样的话?

unix linux bash sed

105
推荐指数
5
解决办法
13万
查看次数

为什么sed不会替换所有出现的事件?

如果我在bash中运行此代码:

echo dog dog dos | sed -r 's:dog:log:'
Run Code Online (Sandbox Code Playgroud)

它给出了输出:

log dog dos
Run Code Online (Sandbox Code Playgroud)

我怎样才能让它取代所有出现的狗?

bash sed

105
推荐指数
2
解决办法
10万
查看次数

如何删除jq输出中的双引号以解析bash中的json文件?

我使用JQ解析一个JSON文件,如这里.但是,字符串值的结果包含预期的"双引号",如下所示:

$ cat json.txt | jq '.name'
"Google"
Run Code Online (Sandbox Code Playgroud)

如何将此管道传输到另一个命令以删除""?所以我明白了

$ cat json.txt | jq '.name' | some_other_command
Google
Run Code Online (Sandbox Code Playgroud)

some_other_command可以用什么?

bash awk sed jq

99
推荐指数
2
解决办法
4万
查看次数

如何用sed删除尾随空格?

我有一个简单的shell脚本,可以从文件中删除尾随空格.有没有办法让这个脚本更紧凑(没有创建临时文件)?

sed 's/[ \t]*$//' $1 > $1__.tmp
cat $1__.tmp > $1
rm $1__.tmp
Run Code Online (Sandbox Code Playgroud)

whitespace sed

98
推荐指数
6
解决办法
14万
查看次数

如何使用sed,awk或gawk只打印匹配的内容?

我看到很多关于如何使用sed,awk或gawk进行搜索和替换等操作的示例和手册页.

但在我的情况下,我有一个正则表达式,我想对文本文件运行以提取特定的值.我不想做搜索和替换.这是从bash调用的.我们来举个例子:

正则表达式示例:

.*abc([0-9]+)xyz.*
Run Code Online (Sandbox Code Playgroud)

示例输入文件:

a
b
c
abc12345xyz
a
b
c
Run Code Online (Sandbox Code Playgroud)

听起来很简单,我无法弄清楚如何正确调用sed/awk/gawk.我希望做的是,在我的bash脚本中有:

myvalue=$( sed <...something...> input.txt )
Run Code Online (Sandbox Code Playgroud)

我尝试过的事情包括:

sed -e 's/.*([0-9]).*/\\1/g' example.txt # extracts the entire input file
sed -n 's/.*([0-9]).*/\\1/g' example.txt # extracts nothing
Run Code Online (Sandbox Code Playgroud)

regex unix awk sed gawk

97
推荐指数
5
解决办法
8万
查看次数

标签 统计

sed ×10

bash ×5

awk ×2

regex ×2

shell ×2

unix ×2

gawk ×1

grep ×1

jq ×1

linux ×1

string ×1

whitespace ×1

windows ×1