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

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 2255 | 回復(fù): 9
打印 上一主題 下一主題

求問(wèn)case或if的條件篩選 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2012-03-09 04:55 |只看該作者 |倒序?yàn)g覽
求教各位大師,我的name文件夾中存放了很以下格式的文件
1,張三-file_a.txt
1,張三-file_b.txt
2,李四-file_a.txt
2,李四-file_b.txt
3,王五-file_a.txt
4-file_a.txt
4-file_b1.txt
5,劉七-file_a2.txt
5,劉七-file_b1.txt
....
36-file_a.txt
36-file_b.txt
文件名稱格式為:ID,人名-file_a或b或a*或b*.txt
ID:必有
,人名:有些人有,有些人沒(méi)有
-file_:必有
a/b/a*/b*:有些人有a和b;有些人只有a;有些人只有b;有些人只有a1和b1
.txt:必有

目的:
找到有a和b的ID,什么都不做
找到只有a的ID,為此ID創(chuàng)建一個(gè)名稱符合a文檔的空文檔b
找到只有a的ID,為此ID創(chuàng)建一個(gè)名稱符合a文檔的空文檔b
找到ab都沒(méi)有的ID,為此ID創(chuàng)建一個(gè)名稱符合a*或b*的空文檔ab,此中*代表數(shù)字

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2012-03-09 05:53 |只看該作者
沒(méi)人給個(gè)意見嘛?

論壇徽章:
2
射手座
日期:2014-10-10 15:59:4715-16賽季CBA聯(lián)賽之上海
日期:2016-03-03 10:27:14
3 [報(bào)告]
發(fā)表于 2012-03-09 08:44 |只看該作者
回復(fù) 2# shrimpj


    用gawk 4.0.0的switch試試:
http://www.gnu.org/software/gawk ... itch-Statement.html

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2012-03-09 09:09 |只看該作者
回復(fù) 3# yinyuemi

好像我不能用gawk4.0吧,我寫了一下switch,它沒(méi)有變色,應(yīng)該不是特殊字符吧???其實(shí)我就是想知道,如果我設(shè)置一個(gè)變量A,然后把找到的關(guān)于每個(gè)ID配對(duì)的結(jié)果付給A,于是如果我echo $A,就會(huì)得到以下結(jié)果:

1,張三-file_a.txt 1,張三-file_b.txt
2,李四-file_a.txt 2,李四-file_b.txt
3,王五-file_a.txt
4-file_a.txt 4-file_b1.txt  
5,劉七-file_a2.txt 5,劉七-file_b1.txt
36-file_a.txt 36-file_b.txt

然后我再case中設(shè)置條件
case $A in
"$ID*-file_a.txt $ID*-file_b.txt") echo correct ;;
"$ID*-file_a.txt") touch "$ID*-file_b.txt" ;;
"$ID*-file_b.txt") touch "$ID*-file_a.txt" ;;
*) touch "$ID*-file_a.txt" touch "$ID*-file_b.txt" ;;

但是我這樣寫遇到問(wèn)題,首先通配符*識(shí)別不出來(lái),而且第一個(gè)條件的空格不能識(shí)別并加以匹配,請(qǐng)問(wèn)我該如何修改???

論壇徽章:
2
射手座
日期:2014-10-10 15:59:4715-16賽季CBA聯(lián)賽之上海
日期:2016-03-03 10:27:14
5 [報(bào)告]
發(fā)表于 2012-03-09 09:26 |只看該作者
本帖最后由 yinyuemi 于 2012-03-09 09:26 編輯

回復(fù) 4# shrimpj

沒(méi)測(cè)試~
  1. for file in *.txt
  2. do
  3.    id=${file%,*};
  4.    f=${file%_*};
  5.    if [ -f ${id}*a.txt ] && [ -f ${id}*b.txt ]
  6.    then
  7.       echo "correct";
  8.    else
  9.       if  [ ! -f ${id}*b.txt ]
  10.       then
  11.          touch ${f}b.txt
  12.       elif [ ! -f ${id}*a.txt ]
  13.       then
  14.          touch ${f}a.txt
  15.       else
  16.          touch ${f}a.txt ${f}b.txt
  17.       fi
  18.    fi
  19. done
復(fù)制代碼

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2012-03-09 09:51 |只看該作者
回復(fù) 5# yinyuemi


    條件2和3找不到?為什么?

論壇徽章:
2
射手座
日期:2014-10-10 15:59:4715-16賽季CBA聯(lián)賽之上海
日期:2016-03-03 10:27:14
7 [報(bào)告]
發(fā)表于 2012-03-09 09:55 |只看該作者
本帖最后由 yinyuemi 于 2012-03-09 09:57 編輯

回復(fù) 6# shrimpj

你echo下 $id 和 $f,看那個(gè)適合做判斷條件,修改下腳本吧,
    改成這樣試試:

  1. ...
  2.       if  [ ! -f ${f}b.txt ]
  3.       then
  4.          touch ${f}b.txt

  5.       elif [ ! -f ${f}a.txt ]
  6.       then
  7.          touch ${f}a.txt
  8. ...
復(fù)制代碼

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2012-03-09 10:02 |只看該作者
回復(fù) 7# yinyuemi


    這里的 -f是什么意思。坎缓靡馑,能指教一下嘛?

論壇徽章:
2
射手座
日期:2014-10-10 15:59:4715-16賽季CBA聯(lián)賽之上海
日期:2016-03-03 10:27:14
9 [報(bào)告]
發(fā)表于 2012-03-09 11:03 |只看該作者

論壇徽章:
0
10 [報(bào)告]
發(fā)表于 2012-03-09 23:26 |只看該作者
回復(fù) 9# yinyuemi


收到,謝謝,我還有一個(gè)問(wèn)題,是思路的問(wèn)題,希望你可以指點(diǎn):
以上我說(shuō)的文件名,其實(shí)最理想是每一個(gè)參加者都應(yīng)該有一個(gè)a文件,一個(gè)b文件,但是建立文件之初,有些人因?yàn)閍文件出錯(cuò)然后就建立這個(gè)人的a1文件,如果a1再出錯(cuò),就建立a2以此類推,我的目的就是找到a的最后一個(gè)完整文件來(lái)替換a。我的思路是,判斷有沒(méi)有a和b文件,有就correct,對(duì)于沒(méi)有的創(chuàng)建,然后替換。請(qǐng)問(wèn)有別的思路嗎?
有人建議我打開每個(gè)a*文件,然后看哪個(gè)是完整的,保留其與刪掉,最后改名,我想知道那種比較好,你覺得?謝謝
您需要登錄后才可以回帖 登錄 | 注冊(cè)

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP