亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1760 | 回復: 7
打印 上一主題 下一主題

[文本處理] awk怎么替換變量 [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2016-04-13 14:30 |只看該作者 |倒序瀏覽
想對文本進行操作,就是將每一行第二個字符串后面加上 gnda,
替換語句本身挺好寫的,awk '{$2=$2" gnda"}'1
現(xiàn)在有個問題就是我想隨意定義在第二個字符后面加的字符串,

#!/bin/sh
echo "Specify string name:"
set strname=$<
cat filename | awk '{$2=$2"$strname"}'1 > temp1

我的本意是寫一個腳本,運行腳本后terminal提示需要增加的字符串的名字,然后用awk將我指定的名字加到第二個字符串后面,但是按照上面的腳本運行完的結果卻是在第二個字符串后面加上了$strname

如果我寫一個字符串變量,然后用awk調用這個變量該怎么弄?謝謝~

論壇徽章:
145
技術圖書徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11獅子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龍
日期:2014-01-08 15:26:12技術圖書徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
2 [報告]
發(fā)表于 2016-04-13 14:35 |只看該作者
回復 1# luobingyin

awk '{$2=$2"$strname"}'1

change to

awk -vstr="$strname" '{$2=$2 str }1'


求職 : 技術支持/維
論壇徽章:
0
3 [報告]
發(fā)表于 2016-04-13 14:41 |只看該作者
提示: 作者被禁止或刪除 內容自動屏蔽

論壇徽章:
0
4 [報告]
發(fā)表于 2016-04-13 14:42 |只看該作者
回復 2# jason680


    awk -v 就相當于將shell的變量傳遞到awk中了是吧

剛才自己亂試,好像awk '{$2=$2"'$strname'"}'1 也可以,是不是和awk -v 類似的機制

論壇徽章:
0
5 [報告]
發(fā)表于 2016-04-13 14:44 |只看該作者
回復 3# 99超人


    謝謝,剛才自己亂試也試出這個可以,不過不知道和awk -v 方法有什么區(qū)別

論壇徽章:
145
技術圖書徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11獅子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龍
日期:2014-01-08 15:26:12技術圖書徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
6 [報告]
發(fā)表于 2016-04-13 14:55 |只看該作者
本帖最后由 jason680 于 2016-04-13 14:59 編輯

類似 但不一樣...

$ a="abc"; echo 1 2 | awk '{$2=$2"'$a'"}1'
1 2abc

$ a="a;bc"; echo 1 2 | awk '{$2=$2"'$a'"}1'
1 2a;bc

$ a="a'bc"; echo 1 2 | awk '{$2=$2"'$a'"}1'
1 2a'bc

$ a='"abc'; echo 1 2 | awk '{$2=$2"'$a'"}1'
awk: {$2=$2""abc"}1
awk:            ^ unterminated string

$ a='"abc'; echo 1 2 | awk -va="$a" '{$2=$2 a}1'
1 2"abc

$ a="a bc"; echo 1 2 | awk '{$2=$2"'$a'"}1'
awk: {$2=$2"a
awk:       ^ unterminated string

$ a="a bc"; echo 1 2 | awk -va="$a" '{$2=$2 a}1'
1 2a bc

求職 : 技術支持/維
論壇徽章:
0
7 [報告]
發(fā)表于 2016-04-13 16:14 |只看該作者
提示: 作者被禁止或刪除 內容自動屏蔽

論壇徽章:
0
8 [報告]
發(fā)表于 2016-04-14 09:35 |只看該作者
此處應該有膜拜表情~~
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP