相关疑难解决方法(0)

在Bash中提取子字符串

给定表单中的文件名someletters_12345_moreleters.ext,我想提取5位数并将它们放入变量中.

因此,为了强调这一点,我有一个带有x个字符的文件名,然后是一个五位数序列,两边都是一个下划线,然后是另一组x个字符.我想取5位数字并将其放入变量中.

我对可以实现的不同方式的数量非常感兴趣.

string bash shell substring

684
推荐指数
17
解决办法
114万
查看次数

何时在shell变量周围包装引号?

有人能告诉我是否应该在shell脚本中包含变量的引号?

例如,以下是正确的:

xdg-open $URL 
[ $? -eq 2 ]
Run Code Online (Sandbox Code Playgroud)

要么

xdg-open "$URL"
[ "$?" -eq "2" ]
Run Code Online (Sandbox Code Playgroud)

如果是这样,为什么?

unix linux bash shell quotes

145
推荐指数
4
解决办法
5万
查看次数

如何在bash字符串choping中切断字符串的最后n个字节?

例如qa_sharutils-2009-04-22-15-20-39,想要砍掉最后20个字节,然后得到' qa_sharutils'.

我知道如何在sed中做到这一点,但为什么$A=${A/.\{20\}$/}不起作用?

谢谢!

bash

14
推荐指数
1
解决办法
2万
查看次数

如何获取没有最后 N 个字符的字符串?

如果我的变量中有一个 bash 字符串。如何提取/检索除最后一个字符之外的字符串,如果我想提取直到最后两个字符,会有多容易?

例子:

# Removing the last character
INPUT="This is my string."
# Expected output "This is my string"

# Removing the last two characters
INPUT="This is my stringoi"
# Expected output "This is my string"
Run Code Online (Sandbox Code Playgroud)

bash awk

1
推荐指数
2
解决办法
4412
查看次数

如何使用sed从bash中删除字符串中的最后一个字符?

我想通过修改最后的所有"a"来改变所有出现的事件,如"waaa","wwwaaaaa","wa".

waaa> w
wwa> ww
waaaaa> w

我知道如何使用正则表达式在文本中找到这些字符串:

grep -nE "wa+" file.txt
Run Code Online (Sandbox Code Playgroud)

我也知道如何在bash脚本中更改一个字符串

#!/bin/bash
s1="wwwwaaaaaaaa"
s2=${s1%w*}
echo "$s1 --> $s2"
Run Code Online (Sandbox Code Playgroud)

(修改后的脚本来自/sf/answers/1936110221/)

但是我想使用像

sed -E 's/wa+/ZZZ/' file.txt
Run Code Online (Sandbox Code Playgroud)

ZZZ是我需要的东西.

sed -E 's/wa+/${$1%w*}/' file.txt
Run Code Online (Sandbox Code Playgroud)

不起作用.

样本输入:

Lorem ipsum wa waaaaaaa saaa dolor sit amet,
consectetur aw awwwwaaaa adipiscing elit

理想的输出:

Lorem ipsum w w saaa dolor sit amet,
consectetur aw awwww adipiscing elit

regex bash sed

0
推荐指数
1
解决办法
190
查看次数

标签 统计

bash ×5

shell ×2

awk ×1

linux ×1

quotes ×1

regex ×1

sed ×1

string ×1

substring ×1

unix ×1