【发布时间】:2021-10-28 05:19:37
【问题描述】:
我正在尝试运行sed 的以下命令:
echo "fOO:paSS,tesT2:fail,TESt:pasS,fdfdhfd:pass,test5:anyresult test,test6:pass asfas " | sed 's/:.*/\L&/;s/\w\+/\u&/g;s/:/ # /g;y/,/\n/' | sed 's/\w\+/&\n/2;P;d'
我得到的输出是:
FOO # Pass
TesT2 # Fail
Test # Pass
Fdfdhfd # Pass
Test5 # Anyresult
Test6 # Pass
期望的输出:
fOO # Pass
tesT2 # Fail
TESt # Pass
fdfdhfd # Pass
test5 # anyresult
test6 # Pass
我想要的是:
- “Pass”和“fail”应始终使用“
P”和“F”大写,无论给出什么输入。 - “Test”的名称应与 echo 命令中提供的名称保持一致,不应更改。
-
#之后和之前应该只有第一个单词。如果用户给出“Test5:Pass successfully”之类的输入,则不应打印successfully。
可选要求:
- 我们能否将其转换为包含 2 列和“n”行的表格?
【问题讨论】:
-
那么你想要的输出中的第二行是错误的。
-
@triplee 更正了它。谢谢..对此有任何想法吗?
-
(仍然)不明白你是如何从
fOO到FOO,从tesT2到TestT2,从anyresult到Anyresult... ??? -
我正在使用的 sed 命令将整个单词转换为小写,然后将每个单词的第一个字母转换为大写。但我不希望
:之前提到的字符串转换为小写。