在Bash中,如果VAR="/home/me/mydir/file.c",我该如何获得"/home/me/mydir"?
假设我有字符串1:2:3:4:5,我想得到它的最后一个字段(5在这种情况下).我如何使用Bash做到这一点?我试过cut,但我不知道如何指定最后一个字段-f.
给出以下命令:
echo "1: " | awk '/1/ -F ":" {print $1}'
Run Code Online (Sandbox Code Playgroud)
为什么awk输出:
1:
Run Code Online (Sandbox Code Playgroud) 有人能告诉我是否应该在shell脚本中包含变量的引号?
例如,以下是正确的:
xdg-open $URL
[ $? -eq 2 ]
Run Code Online (Sandbox Code Playgroud)
要么
xdg-open "$URL"
[ "$?" -eq "2" ]
Run Code Online (Sandbox Code Playgroud)
如果是这样,为什么?
我有变量:
A="Some variable has value abc.123"
Run Code Online (Sandbox Code Playgroud)
我需要提取这个值,即abc.123.在bash中这可能吗?
我希望在字符串中第二次出现特定模式后删除所有内容.在Unix中最好的方法是什么?实现这一目标的最优雅,最简单的方法是什么; sed,awk或只是unix命令cut?
我的意见是
After-u-math-how-however
Run Code Online (Sandbox Code Playgroud)
输出应该是
After-u
Run Code Online (Sandbox Code Playgroud)
第二次之后的所有东西都-应该被剥离掉.正则表达式也应匹配模式的零次出现,因此应忽略零次或一次出现,并且从第二次出现时应删除所有内容.
所以如果输入如下
After
输出应该是
After
我想得到一个文件的第二列,其中第1列和第2列之间的分隔符是可变长度的.例如:
A1_KOG1494_________AAMFAARSFSERK
A2_KOG1494_______AAKFALRSFSERK
A3_KOG1494___________AAKFALRSFSCCK
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助
大家好,我想知道用分隔符剪切最后一个字段:在不知道有多少字段的情况下,我有什么想法。命令 cut 是否有任何选项?