linux - 如何在Bash中提取引号之间的字符串
问题描述
我需要提取文件中引号之间的字符串。
例如:我的文件被调用test.txt
,它具有以下内容:
"Hello_World"
我从 bash 中读取如下:
string="$(head -1 test.txt)"
echo $string
这打印"Hello_World"
,但我需要Hello_World
。
任何帮助将不胜感激。谢谢。
解决方案
您可以纯粹地执行此操作,bash
而无需生成任何外部程序:
read -r line < test.txt ; line=${line#\"} ; line=${line%\"} ; echo $line
实际读取整read
行,这两个赋值实际上去掉了行首或行尾的任何单引号。
我假设您不想删除字符串本身中的任何引号,因此我将其限制为两端的一个。
它还允许您成功阅读没有前导引号、尾随引号或两者兼有的行。
推荐阅读
- html - 添加带有 CSS 边框的缩略图
- json - 如何找到带有 json 数据的推文的全文(在 tweepy 中)?
- templates - 如何向 Blogger 主页添加自定义“更多帖子”按钮
- python - 有什么方法可以防止 PyQt5 在出错后关闭 Python?
- cmake - clang-tidy 在 windows 上找不到与 cmake 集成的头文件
- javascript - 未触发 Typeahead JS 自定义事件
- r - 干净的推文:什么是 UTF8 和非 UTF8 字符
- javascript - R:从 doPostBack 抓取 aspx
- ajax - 单击对象卡时如何获取ID?
- python - conda env 中的绝对导入