我想在其旁边添加字符串的一部分作为单词(格式),然后将该行的最后一个单词(格式)转换为小写
例如我有一行如下
<http://example.com/Bob> Alex
我需要输出
<http://example.com/Bob> <Bob> <alex>
我尝试了sed和tr命令,但没有成功。任何建议都会有所帮助
由于 Pallavi
答案 0 :(得分:2)
这样的东西?
sed 's@\(http://.*/\)\(.*\) \(.*\)@\1\2 \2 \L\3@' <<< "http://example.com/Bob Alex"
,并提供:
http://example.com/Bob Bob alex
答案 1 :(得分:1)
用awk:
awk '{s=gensub(/.*\//,"","g");
s=gensub(/>.*/,"","g",s);
printf "%s <%s>",$1,s;
for(i=2; i < NF; i++)
{
printf " %s",$i;
}
printf " <%s>\n",tolower($NF);}' input.txt
或者:
awk '{s=gensub(/.*\//,"","g");
s=gensub(/>.*/,"","g",s);
$1=$1" <"s">";
$NF="<"tolower($NF)">";
print;}' input.txt
输出:
<http://example.com/Bob> <Bob> <alex>