Questions tagged «string»

字符串操作:提取字符串的一部分,替换文本,格式化为给定的宽度等。


8
如何使用grep和插入脚本从HTML文件获取网站URL
我正在尝试使用grep和cut从HTML文件中提取URL。链接如下所示: <a href="http://examplewebsite.com/"> 其他网站都有.net,.gov但我认为我可以在截止点之前提出>。所以我知道我可以使用grep并以某种方式剪切掉http和.com之前的所有内容,但是我已经坚持了一段时间。

6
如何从执行的命令中捕获错误消息?
我的任务是创建一个自动的服务器强化脚本,他们需要做的一件事是报告所执行的每个命令的所有输出。我想将错误消息存储在字符串中,并将其附加到文本文件中。 假设我运行了以下命令: /sbin/modprobe -n -v hfsplus 在我的机器上运行此命令的输出为: FATAL: Module hfsplus not found 如何将错误消息存储在字符串中?任何帮助将不胜感激。谢谢!
20 bash  scripting  string 

2
为什么此脚本在终端中起作用,但不能在文件中起作用?
我将这个shell脚本保存在一个文件中:它执行一些基本的字符串替换。 #!/bin/sh html_file=$1 echo "html_file = $html_file" substr=.pdf pdf_file="${html_file/.html/.pdf}" echo "pdf_file = $pdf_file" 如果我将其粘贴到命令行中,则可以正常工作: $ html_file="/home/max/for_pauld/test_no_base64.html" echo "html_file = $html_file" substr=.pdf pdf_file="${html_file/.html/.pdf}" echo "pdf_file = $pdf_file" 给 html_file = /home/max/for_pauld/test_no_base64.html pdf_file = /home/max/for_pauld/test_no_base64.pdf 那是上面echo的输出-它按预期工作。 但是,当我调用脚本时, $ saucer "/home/max/for_pauld/test_no_base64.html" 我得到以下输出: html_file = /home/max/for_pauld/test_no_base64.html /home/max/bin/saucer: 5: /home/max/bin/saucer: Bad substitution 我的脚本使用的是bash的其他版本还是其他版本?我需要更改我的shebang行吗?
18 bash  string 


4
替换变量中字符的最短方法
有很多方法可以替换变量中的字符。 tr到目前为止,我发现的最短方法是: OUTPUT=a\'b\"c\`d_123and_a_lot_more OUTPUT=$(echo "$OUTPUT"|tr -d "'\`\"") echo $OUTPUT 有没有更快的方法?而且这是引用安全像引号',"和'本身?
18 bash  string  variable 

3
如何推迟变量扩展
我想用尚未设置的变量来初始化脚本顶部的一些字符串,例如: str1='I went to ${PLACE} and saw ${EVENT}' str2='If you do ${ACTION} you will ${RESULT}' 再后来PLACE,EVENT,ACTION,和RESULT将被设置。然后,我希望能够将变量扩展后的字符串打印出来。是我唯一的选择eval吗?这似乎可行: eval "echo ${str1}" 这是标准吗?有一个更好的方法吗?最好不要eval考虑变量可以是任何东西而运行。
18 bash  shell  string 

4
如何在源代码中的read -p提示符下将长字符串分成多行?
我正在编写将以方式运行的安装脚本/bin/sh。 有一行提示输入文件: read -p "goat can try change directory if cd fails to do so. Would you like to add this feature? [Y|n] " REPLY 我想把这条长行分成多行,以使它们都不超过80个字符。我说的是脚本源代码中的几行;与执行脚本时要在屏幕上实际打印的行无关! 我尝试过的 第一手方法: read -p "goat can try change directory if cd fails to do so. " \ "Would you like to add this feature? …

2
根据bash脚本中的模式提取字符串
在bash中,假设我有一个字符串strname: strname="ph7go04325r" 我想提取第一个 "3"字符和最后一个 字符之间的"r"字符strname,并将结果保存在字符串中strresult。在上面的示例中,结果strresult将是: strresult="25" 第一"3"字符是不必然在串8位strname; 同样地,最后一个"r"是不必然在串位置11。因此,下面的两个串的strname应产生strresult="25": strname="ph11go04325raa" strname="325r" strname="rgo04325raa" 另外,strname=ph12go04330raa"应屈服strresult="30"。 我是bash脚本的新手,而且我不知道从哪里开始像这样进行字符串模式匹配。你有什么建议吗?


3
如何去除目录路径的最后斜杠?
我有一个脚本,它需要一个目录作为一个参数。我想支持两种形式:一种是 a/b/c (最后没有斜杠),另一个就像 a/b/c/ (末尾有斜线)。 我的问题:给定两种形式中的任一种,我如何才能保持第一种形式不变并去除第二种形式的最后一个斜杠以将其转换为第一种形式。


5
用bash索引字符串
如何在sh / bash中按索引引用字符串?也就是说,基本上将其拆分。 我正在尝试删除文件名的5个字符。所有名称都具有以下结构:name_nr_code。我正在尝试删除5个字母数字代码位。name_nr_始终为10个字符。 有没有类似的事情? for i in * ; do mv "$i" "$i"[:10] ; done
15 bash  shell  string 


4
获取一个单词的所有可能的组合,使用小写/大写字母
我想编写一个bash脚本来打印某个单词(例如harley)的所有可能的大小写排列: harley harleY harlEy harLey ... HARLey HARLEy HARLEY 我朴素的解决方案是为此特定单词编写第n个(n为len(word))嵌套的for循环: #!/bin/bash for a in {h,H}; do for b in {a,A}; do ... done done 但是,我将不得不再次为另一个单词编写脚本。 有没有更好的方法可以做到这一点?
14 bash  string 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.