写一个bash 程序去除文件中#后面的东西(注释)

写一个bash程序,运行那个程序并去除另一个文件123.txt中#后面的东西(注释)然后显示那个123.txt的内容在屏幕上求高手解救,真心搞不懂比如123.txt中有a... 写一个bash程序,运行那个程序并去除另一个文件123.txt中#后面的东西(注释)
然后显示那个123.txt的内容在屏幕上
求高手解救,真心搞不懂
比如123.txt中有 abcdefg#sthsth
运行bash程序后屏幕显示出 abcdefg
展开
 我来答
百度网友5311d79
2014-05-12 · TA获得超过1.9万个赞
知道大有可为答主
回答量:6356
采纳率:71%
帮助的人:3214万
展开全部

脚本程序trim.sh:

#!/bin/bash
myFile=$1
while read line
do
    echo ${line%#*}
done <$1

此脚本用于去除每行最后一个#(若有)及其后面的内容。需要小心注释中还包含#的情况。

跟文本文件123.txt放在同一级目录下,然后运行:

bash trim.sh 123.txt
追问
真的太感谢啦,我试了一下,确实挺好,谢谢大神!
还有一个问题,我们老师又加了个要求,说什么当#在'' 或"" 或 \里,不能算批注
就是说这种情况下不能去除,请问这个应该怎么改呢。

比如 abcdefg ”#something“ 的话那么运行完就还是 abcdefg ”#something“
再次跪谢大神指导
追答
对于你后面补充的问题,暂时没想到很好的方法。用sed做也感觉比较繁琐。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式