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

Chinaunix

標(biāo)題: 請(qǐng)問(wèn)如何取出目錄下文件名中的字符,作為變量使用! [打印本頁(yè)]

作者: dadupi    時(shí)間: 2007-05-17 14:55
標(biāo)題: 請(qǐng)問(wèn)如何取出目錄下文件名中的字符,作為變量使用!
問(wèn)題重新整理下:

環(huán)境:
在目錄/test下面,有N個(gè) test_yyyymmdd.dmp的文件

我想取出文件名中的yyyymmdd部分,作為變量,用作oracle sqlldr的日期插入到表中,請(qǐng)問(wèn),如何只取文件中的這一部分。
謝謝

#ls
for.sh                   test_20061105.dmp  test_20061215.dmp  test_20070125.dmp  test_20070301.dmp  test_20070410.dmp  
test_20061001.dmp  test_20061110.dmp  test_20061220.dmp  test_20070130.dmp  test_20070305.dmp  test_20070415.dmp  
test_20061005.dmp  test_20061115.dmp  test_20061225.dmp  test_20070201.dmp  test_20070310.dmp  test_20070420.dmp  
test_20061010.dmp  test_20061120.dmp  test_20061230.dmp  test_20070205.dmp  test_20070315.dmp  test_20070425.dmp  
test_20061015.dmp  test_20061125.dmp  test_20070101.dmp  test_20070210.dmp  test_20070320.dmp  test_20070430.dmp  
test_20061020.dmp  test_20061130.dmp  test_20070105.dmp  test_20070215.dmp  test_20070325.dmp  test_20070501.dmp
test_20061025.dmp  test_20061201.dmp  test_20070110.dmp  test_20070220.dmp  test_20070330.dmp  test_20070505.dmp
test_20061030.dmp  test_20061205.dmp  test_20070115.dmp  test_20070225.dmp  test_20070401.dmp  test_20070510.dmp
test_20061101.dmp  test_20061210.dmp  test_20070120.dmp  test_20070228.dmp  test_20070405.dmp  test_20070515.dmp

#more for.sh
. /test/.profile

cd /test

mmm=`find /test -name "*.LST" -print |cut -c11-20`

for i in $mmm
do
        sqlldr yy/yy@test parfile=inter.par control=load.ctl data="test_"$mmm".dmp"
done

在sqlldr的控制文件里寫(xiě):
LOAD DATA
APPEND INTO TABLE "test_"$mmm
TRAILING NULLCOLS
(
rq  $mmm,
PHONE_CODE position(01:20),
ESN        position(22:35)
)

這$mmm,就是我要取出來(lái)的值,請(qǐng)問(wèn)可以做么?

[ 本帖最后由 dadupi 于 2007-5-17 16:15 編輯 ]
作者: 寂寞烈火    時(shí)間: 2007-05-17 15:07
cut -c5-12
作者: dadupi    時(shí)間: 2007-05-17 15:32
#ls
for.sh                   test_20061105.dmp  test_20061215.dmp  test_20070125.dmp  test_20070301.dmp  test_20070410.dmp  
test_20061001.dmp  test_20061110.dmp  test_20061220.dmp  test_20070130.dmp  test_20070305.dmp  test_20070415.dmp  
test_20061005.dmp  test_20061115.dmp  test_20061225.dmp  test_20070201.dmp  test_20070310.dmp  test_20070420.dmp  
test_20061010.dmp  test_20061120.dmp  test_20061230.dmp  test_20070205.dmp  test_20070315.dmp  test_20070425.dmp  
test_20061015.dmp  test_20061125.dmp  test_20070101.dmp  test_20070210.dmp  test_20070320.dmp  test_20070430.dmp  
test_20061020.dmp  test_20061130.dmp  test_20070105.dmp  test_20070215.dmp  test_20070325.dmp  test_20070501.dmp
test_20061025.dmp  test_20061201.dmp  test_20070110.dmp  test_20070220.dmp  test_20070330.dmp  test_20070505.dmp
test_20061030.dmp  test_20061205.dmp  test_20070115.dmp  test_20070225.dmp  test_20070401.dmp  test_20070510.dmp
test_20061101.dmp  test_20061210.dmp  test_20070120.dmp  test_20070228.dmp  test_20070405.dmp  test_20070515.dmp

#more for.sh
. /test/.profile

cd /test

mmm=`find /test -name "*.LST" -print |cut -c11-20`

for i in $mmm
do
        touch $mmm".log"
done

____________________________

這樣生成不了。請(qǐng)問(wèn)應(yīng)該怎么做才行。
作者: dadupi    時(shí)間: 2007-05-17 15:34
以上不能獲取日期變量,報(bào)錯(cuò)。
作者: waker    時(shí)間: 2007-05-17 15:40
ls|tr -cd '[0-9]\n'|xargs -i touch {}.log
作者: wd    時(shí)間: 2007-05-17 15:40
你先看看你的$mmm是什么再說(shuō),不要想當(dāng)然了
find 的結(jié)果可以直接給 cut 么
作者: 寂寞烈火    時(shí)間: 2007-05-17 15:52
不就是改名嘛~~~, waker大人的最佳
作者: dadupi    時(shí)間: 2007-05-17 15:57
謝謝兩位,其實(shí)在真實(shí)環(huán)境里,并不是要拿取出來(lái)的字符建立文件,而是用于oracle sqlldr的默認(rèn)字符來(lái)輸入,比如說(shuō),在sqlldr的控制文件里寫(xiě):
LOAD DATA
APPEND INTO TABLE "test_"$mmm
TRAILING NULLCOLS
(
rq  $mmm,
PHONE_CODE position(01:20),
ESN        position(22:35)
)

這$mmm,就是我要取出來(lái)的值,請(qǐng)問(wèn)可以做么?
作者: 寂寞烈火    時(shí)間: 2007-05-17 16:00
擠牙膏呢~~~ ^_^
作者: dadupi    時(shí)間: 2007-05-17 16:08
各位幫幫忙啊,是我沒(méi)說(shuō)清楚么?
作者: lipanzjzs    時(shí)間: 2007-05-17 16:33
樓主的問(wèn)題,正是我現(xiàn)在碰到的問(wèn)題啊,導(dǎo)出來(lái)的文件,沒(méi)有日期字段,一定得把文件中的日期給提出來(lái),當(dāng)字段默認(rèn)值用,搞了很久都沒(méi)有搞出來(lái)。哪 位達(dá)人來(lái)解一哈啊
作者: waker    時(shí)間: 2007-05-17 16:35
原帖由 dadupi 于 2007-5-17 16:08 發(fā)表
各位幫幫忙啊,是我沒(méi)說(shuō)清楚么?


作者: lipanzjzs    時(shí)間: 2007-05-17 16:47
原帖由 dadupi 于 2007-5-17 14:55 發(fā)表
問(wèn)題重新整理下:

環(huán)境:
在目錄/test下面,有N個(gè) test_yyyymmdd.dmp的文件

我想取出文件名中的yyyymmdd部分,作為變量,用作oracle sqlldr的日期插入到表中,請(qǐng)問(wèn),如何只取文件中的這一部分。
謝謝

# ...



這樣似乎已經(jīng)很清楚了吧,頂一下這貼,期待有人來(lái)解答!
作者: waker    時(shí)間: 2007-05-17 16:54
在sqlldr的控制文件里寫(xiě):
LOAD DATA
APPEND INTO TABLE "test_"$mmm
TRAILING NULLCOLS
(
rq  $mmm,
PHONE_CODE position(01:20),
ESN        position(22:35)
)

這一部分看不懂,沒(méi)用過(guò)sqlldr
作者: lipanzjzs    時(shí)間: 2007-05-17 17:01
意思為:
首先在shell中生成一個(gè)變量$mmm,這個(gè)變量是每個(gè)文件名的yyyymmdd部分,然后把這個(gè)變量的值,用for詢環(huán)導(dǎo)入到數(shù)據(jù)庫(kù)表名為test_$mmm (test_20070101)的rq列中,rq的默認(rèn)值也是$mmm。就實(shí)現(xiàn)這個(gè)功能。
關(guān)鍵是for能不能把出來(lái)的$mmm值傳進(jìn)去。
作者: lipanzjzs    時(shí)間: 2007-05-17 17:02
反正偶的問(wèn)題就是這樣
作者: waker    時(shí)間: 2007-05-17 17:05
原帖由 lipanzjzs 于 2007-5-17 17:01 發(fā)表
意思為:
首先在shell中生成一個(gè)變量$mmm,這個(gè)變量是每個(gè)文件名的yyyymmdd部分,然后把這個(gè)變量的值,用for詢環(huán)導(dǎo)入到數(shù)據(jù)庫(kù)表名為test_$mmm (test_20070101)的rq列中,rq的默認(rèn)值也是$mmm。就實(shí)現(xiàn)這個(gè)功能。
...

那讀懂前面幾個(gè)人給出的代碼就足夠了,*.dmp不多就用for,數(shù)量多就用管道,都可以實(shí)現(xiàn)




歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2