找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 41|回复: 5

shell 裡的字串含空白該怎麼處理?

[复制链接]

94

主题

790

回帖

1978

积分

金牌会员

积分
1978
发表于 2019-3-18 16:53:25 | 显示全部楼层 |阅读模式
本帖最后由 ghost 于 2019-3-18 17:00 编辑

之前問了在 for 裡取變數 i 要怎麼帶入變數 i' 當搜尋關鍵字的問題.

現在有個問題是關於這個變數 i' 的字串,有空白怎麼辦....

就類似像

#!/bin/bash
for i in SA,South America NA,North America ;
  cut -d ',' -f 2
  ...

有什麼方法可以在 cut  i' 的時候,可以完整抓進 'South America',而不會被斷成 'South' 跟 'America'?
回复

使用道具 举报

179

主题

1158

回帖

2931

积分

金牌会员

积分
2931
发表于 2019-3-18 16:54:20 | 显示全部楼层
只会python 帮顶
回复

使用道具 举报

248

主题

2301

回帖

5418

积分

论坛元老

积分
5418
发表于 2019-3-18 16:55:08 | 显示全部楼层

yjsx86 发表于 2019-3-18 16:54

只会python 帮顶

因為是要在系統上做一些檔案內的字元作處理,
希望能盡量做到直接,不想再透過 python call 系統的 lib 增加處理成本.
回复

使用道具 举报

94

主题

790

回帖

1978

积分

金牌会员

积分
1978
 楼主| 发表于 2019-3-18 17:00:02 | 显示全部楼层
echo SA,"South America NA","North America" | cut -d, -f 2
回复

使用道具 举报

5

主题

95

回帖

255

积分

中级会员

积分
255
发表于 2019-3-18 16:54:00 | 显示全部楼层
本帖最后由 ghost 于 2019-3-18 17:18 编辑

gaogeli 发表于 2019-3-18 17:10

echo SA,"South America NA","North America" | cut -d, -f 2


其實我也試過 'SA,South America',狀況都一樣

我的 test shell 是這樣
#!/bin/bash

for i in SA,"South America" ;
  do

  code=`echo $i|cut -d ',' -f 1`
  loc=`echo $i|cut -d ',' -f 2`
  echo $code $loc #
Vicer 发表于 2019-3-18 16:55

简单

感谢分享,大佬牛逼。
回复

使用道具 举报

94

主题

790

回帖

1978

积分

金牌会员

积分
1978
 楼主| 发表于 2019-3-18 17:10:18 | 显示全部楼层
為什麼一定要 ", 不能是 ' ?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Discuz! X

GMT+8, 2025-4-24 17:23 , Processed in 0.019575 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表