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

Chinaunix

標(biāo)題: 用sed去遍歷文本文件碰到錯(cuò)誤 [打印本頁(yè)]

作者: HSRLJYHCY    時(shí)間: 2014-10-07 20:37
標(biāo)題: 用sed去遍歷文本文件碰到錯(cuò)誤
本帖最后由 HSRLJYHCY 于 2014-10-07 20:38 編輯

au11qap6j0tels2:KCU005P:/ora/admin#cat DF_list.txt
/ora/DB01/data001/KCU001P/KCU001Pcust_cdr_unbilled_tbl_01.dbf
/ora/DB01/data002/KCU001P/KCU001Pcust_cdr_unbilled_tbl_02.dbf
/ora/DB01/data003/KCU001P/KCU001Pcust_cdr_unbilled_tbl_03.dbf
/ora/DB01/data004/KCU001P/KCU001Pcust_cdr_unbilled_idx_01.dbf
/ora/DB01/data004/KCU001P/KCU001Pcust_cdr_unbilled_idx_02.dbf



au11qap6j0tels2:KCU005P:/ora/admin#cat mytest.sh
#!/bin/ksh
file_count=`sed -n '$=' DF_list.txt`
i=1
while(($i<=$file_count))
do
    sed -n '$ip' DF_list.txt
    i=$(($i+1))
done

(上面的這個(gè)簡(jiǎn)單腳本是想先獲得文本文件的行數(shù),然后從第一行到最后一行顯示出來)

au11qap6j0tels2:KCU005P:/ora/admin#./mytest.sh
sed: command garbled: $ip
sed: command garbled: $ip
sed: command garbled: $ip
sed: command garbled: $ip
sed: command garbled: $ip

執(zhí)行腳本獲得上面的錯(cuò)誤,請(qǐng)高手幫忙

作者: zooyo    時(shí)間: 2014-10-07 21:20
提示: 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽
作者: wiliiwin    時(shí)間: 2014-10-07 22:50
本帖最后由 wiliiwin 于 2014-10-07 23:21 編輯

回復(fù) 1# HSRLJYHCY
  1. sed -n '$ip' DF_list.txt
復(fù)制代碼
這里改成
  1. sed -n '‘$ip’' DF_list.txt
復(fù)制代碼
或者
  1. sed -n "${i}p" DF_list.txt
復(fù)制代碼

作者: yestreenstars    時(shí)間: 2014-10-08 09:04
回復(fù) 2# zooyo

換了個(gè)頭像,差點(diǎn)不認(rèn)識(shí)了~{:3_182:}
   
作者: zooyo    時(shí)間: 2014-10-08 19:22
提示: 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽
作者: yestreenstars    時(shí)間: 2014-10-09 09:18
回復(fù) 5# zooyo

呀,又一朵鮮花……{:3_193:}
   
作者: HSRLJYHCY    時(shí)間: 2014-10-09 14:14
To wiliiwin,

謝了,用 sed -n "${i}p" DF_list.txt能正常遍歷
作者: kaede_1    時(shí)間: 2014-10-09 18:56
回復(fù) 7# HSRLJYHCY


    樓主,方便給解釋以下sed命令中'$='嗎?
作者: wiliiwin    時(shí)間: 2014-10-09 19:36
回復(fù) 8# kaede_1
返回文件行數(shù)


   
作者: 李滿滿    時(shí)間: 2014-10-09 20:14
學(xué)生黨:無聊~ python試試~

  1. $ cat yhsafe.py
  2. #!/usr/bin/env python
  3. # -*- coding: gbk -*-
  4. "just for fun ~ so so"

  5. from sys import argv

  6. for k,v in enumerate(open(argv[1]).readlines()):
  7.         print k+1,v,
復(fù)制代碼
$ ./yhsafe.py yhsafe.txt
1 /ora/DB01/data001/KCU001P/KCU001Pcust_cdr_unbilled_tbl_01.dbf
2 /ora/DB01/data002/KCU001P/KCU001Pcust_cdr_unbilled_tbl_02.dbf
3 /ora/DB01/data003/KCU001P/KCU001Pcust_cdr_unbilled_tbl_03.dbf
4 /ora/DB01/data004/KCU001P/KCU001Pcust_cdr_unbilled_idx_01.dbf
5 /ora/DB01/data004/KCU001P/KCU001Pcust_cdr_unbilled_idx_02.dbf
作者: kaede_1    時(shí)間: 2014-10-10 08:55
回復(fù) 9# wiliiwin


    呃,通過腳本能猜到是計(jì)算行數(shù)的作用!$=”是sed命令的一個(gè)選項(xiàng)?有沒有具體的介紹,或者還有沒有其他類似的?
    多謝!
作者: ly5066113    時(shí)間: 2014-10-10 09:38
回復(fù) 11# kaede_1


man sed

       $      Match the last line.
       =      Print the current line number.
作者: kaede_1    時(shí)間: 2014-10-10 10:50
回復(fù) 12# ly5066113


    多謝!
作者: yestreenstars    時(shí)間: 2014-10-10 14:22
回復(fù) 8# kaede_1

打印最后一行的行號(hào)~{:3_193:}
   
作者: jcdiy0601    時(shí)間: 2014-10-10 15:14
回復(fù) 1# HSRLJYHCY


    仔細(xì)看了看,把$i為'$i'就可以了
  1. #!/bin/bash

  2. file_count=`sed -n '$=' /root/test`
  3. i=1
  4. while(($i<=$file_count))
  5. do
  6.         sed -n ''$1'p' test
  7.         i+=1
  8. done
復(fù)制代碼





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