我正在尝试使用 shell 脚本将文件中的句子拆分为单独的行。
现在我想用 !, 分割字符串。或者 。. 输出应该是这样的:
我想从my_text.txt读取并包含的文件
you want to learn shell script? First, you want to learn Linux command! then. you can learn shell script.
现在我想用“!”或“?”或“。”分割字符串。输出应该是这样的:
Run Code Online (Sandbox Code Playgroud)you want to learn shell script First, you want to learn Linux command then you can learn shell script
我使用了这个脚本:
while read p
do
echo $p | tr "? ! ." "\n "
done < my_text.txt
Run Code Online (Sandbox Code Playgroud)
但输出是:
你想学习shell脚本
首先,你想学习Linux命令然后你可以学习shell脚本
有人可以帮忙吗?
这可以awk使用其全局替换选项单独完成,如下所示,仅在 GNU 中使用显示的示例编写和测试awk。简单地全局代?,!,.用新的行(默认ORS(输出记录分隔符)的值作为新的线)。
awk '{gsub(/\?|!|\./,ORS)} 1' Input_file
Run Code Online (Sandbox Code Playgroud)
您可以调用 3 个 tr 命令来拆分 ? !和 。
cat test_string.txt | tr "!" "\n" | tr "?" "\n" | tr "." "\n"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
304 次 |
| 最近记录: |