我需要列出作者姓名,其中可能包含 1 到 4 个这样的词
Osho
Hartmann Nicolai
Bird Robert Montgomery
Coates Ta-Nehisi
并生成这样的 URL
site.com/word1+word+word3+word4
如果我这样做
< list.txt xargs -l | xargs printf '"site.com/%s\n' > url.txt
它会接受一个词。我的问题是如何添加另外 3 个可选参数,例如%s
?或者也许有其他命令更简单的方法?
测试你的命令后,我得到了这个结果:
正如我所看到的,你想用 a 替换每个空格
+
,所以你可以使用这样的sed
命令:这是结果:
这个命令非常有效和动态,你可以有一个非常长的组合名称(6、10或更多部分),只有空格会消失,每个
-
字符都不会被修改注意:我刚刚删除了
"
您命令中的字符,printf
因为您的预期输出中不需要它您可以简单地使用
sed
, 三次:+
字符替换剩余的空格site.com/
所以表达式可以是
输出是
尝试这个:
我建议 awk 用于这样的文本处理任务: