linux - 在 unix 中使用 sed 将文件中的所有单词转换为 *
问题描述
我使用了以下命令:
$ cat * | sed 's/./*/g' | head -50
但是此代码也将空格转换*
为。我不想要那个。
例子:
Hi my name is Mark
I am a good guy
预期的:
** ** **** ** ****
* ** * **** ***
解决方案
请参阅上面的 David C. Rankin 的评论......
这可以很sed
容易地实现:
echo 'Hi my name is Mark I am a good guy' | sed 's/[^ ]/*/g'
** ** **** ** **** * ** * **** ***
或与tr
:
echo 'Hi my name is Mark I am a good guy' | tr '[:graph:]' '*'
** ** **** ** **** * ** * **** ***
推荐阅读
- python - 机器人由于不活动而离开和重新加入时出现未连接到语音错误
- spring-boot - 用于生产和测试的 Spring Boot 注入实现
- sql-server - 如何在 VB.NET 循环中检查 DataTables
- spring-boot - OneToOne JPA 问题
- java - 如何在春季启动时使用 retryOnResult?
- python - 运行 Rasa 初始化错误时的问题:urllib3.exceptions.ProxySchemeUnknown:代理 URL 没有方案
- python - 将 array.tolist() 添加到 pandas 数据框中的列后,获取在每个单元格中存储一个元素的列表
- javascript - 如何在任务更新中更新选定的日期和时间?
- reactjs - 如何找出导致我的状态发生变化的原因?
- .net - 如何可靠地找到 OneDrive 目录路径,以便允许用户向其中写入文件