文件內容選擇b.id爲cli_id,b.login爲cli_login,b.pname爲cli_name, b.cname作爲cli_phone,b.phone as cli_phone,b.email as cli_email, (從限制中選擇(值/ 1048576),其中limit_name ='disk_space' 和id = b.limits_id)作爲Client_Package,b.cr_date(選擇 FROM_UNIXTIME (b.status = 0,'Active','Inactive')作爲Client_expire, limit_name ='expiration'和id = b.limits_id) Cli_Status,作爲dom_name的a.name, 如果(a.status = 0,'Active','Inactive')與Dom_Package一樣,a.cr_date爲 dom_create,(選擇FROM_UNIXTIME(值,「%Y-%m-%d」)來自限制,其中 limit_name =' (選擇 (值/ 1048576)作爲Dom_Package,round((a.real_size/1048576))限制,其中limit_name ='disk_space'和 id = a.limits_id)作爲dom_expire, Dom_usage from域a,客戶端b其中(選擇 FROM_UNIXTIME(值,「%Y-%m-%d」)來自限制,其中 limit_name ='expiration'和id = a.limits_id和 (FROM_UNIXTIME(value, '2011-08-01'和 '2011-12-01'之間)和a.cl_id = b.id group by a.id;「%Y-%m-%d」
這一切都在一個單一的線
在我想以這種格式
「2011-08-01」和「之間單獨更換的日期部分2011-12- 01'
該腳本每週五運行一次,假設如果我在10個月的時候運行這個意味着。
劇本需要修改的值在文件中這樣
每次「2011-09-01」之間「2012-01-01」
月份需要單獨這種格式的改變
'當月-1month' 之間'當月+ 3個月
sed -i 's/between '2011-08-01' and '2011-12-01'/'between '$(date --date="- 1 month" +%Y-%m)-01' and '$(date --date="+ 3 months" +%Y-%m)-01'/g file1
在此代碼IAM試圖查找和替換
,但它示出了該誤差
的sed:-e表達#1,炭44:無端接`s'的命令
iam做什麼錯誤可以解釋?
嗨, 這個命令不是me..it作品給出了使用CTR infiniete intergers輸出+ C只是我需要打破輸出 –
SED -i「S /在'$(date -v'-1m'+%Y-%m-01)'和'$(date -v')之間的'[0-9-] *'和'[0-9-] *' + 3m'+%Y-%m-01)'/ g「/var/tmp/p.sql 日期:無效選項 - 'v' 嘗試使用'date --help'以獲取更多信息。 日期:無效選項 - 'v' 嘗試'date --help'獲取更多信息。 –