RSS   



  可打印版本 | 推薦給朋友 | 訂閱主題 | 收藏主題 | 純文字版  


 


 
主題: [求助]文字檔案處理   字型大小:||| 
pcca
銅驢友〔中級〕
等級: 9等級: 9等級: 9


今日心情

 . 積分: 154
 . 文章: 469
 . 收花: 1222 支
 . 送花: 88 支
 . 比例: 0.07
 . 在線: 1722 小時
 . 瀏覽: 14651 頁
 . 註冊: 6847
 . 失蹤: 3
 . 馬來西亞
#1 : 2014-10-8 11:27 AM     只看本作者 引言回覆

我現在有一個狀況, 一個文字檔案, 內容如下:

abc@example.com sales@yahoo.com,sales@gmail.com,contact@gmail.com
joe9976@example.com admin@abc_tech.com,hotimg@twedk.org
peter@hotmail.com tinypic@gmail.com,pillowangel@mediafire.com,imm@abc.com,debi@hotmail.com

我要變成:

abc@example.com sales@yahoo.com
abc@example.com sales@gmail.com
abc@example.com contact@gmail.com
joe9976@example.com admin@abc_tech.com
joe9976@example.com hotimg@twedk.org
peter@hotmail.com tinypic@gmail.com
peter@hotmail.com pillowangel@mediafire.com
peter@hotmail.com imm@abc.com
peter@hotmail.com debi@hotmail.com

求助!!



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
Observer
論壇第一龜毛
等級: 21等級: 21等級: 21等級: 21等級: 21等級: 21
藏雲

 . 積分: 4858
 . 精華: 5
 . 文章: 9343
 . 收花: 41831 支
 . 送花: 9842 支
 . 比例: 0.24
 . 在線: 8086 小時
 . 瀏覽: 111820 頁
 . 註冊: 7951
 . 失蹤: 0
 . 單身宿舍
#2 : 2014-10-8 12:05 PM     只看本作者 引言回覆

我自己慣用的軟體的話
笨方法如下

我會用 Ultraedit  的 十六進位編輯 (HEX) 模式
將逗號(2c)跟空白(20)取代 成 0D 0A

這樣就會把所有資料都分行
存成 txt 檔之後

用 excel 或 access 匯入,然後再排序
排序後再匯出



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
XDR
銀驢友〔高級〕
等級: 14等級: 14等級: 14等級: 14


今日心情

 . 積分: 926
 . 精華: 3
 . 文章: 2040
 . 收花: 7143 支
 . 送花: 11645 支
 . 比例: 1.63
 . 在線: 3804 小時
 . 瀏覽: 23428 頁
 . 註冊: 6804
 . 失蹤: 0
#3 : 2014-10-8 01:36 PM     只看本作者 引言回覆

用WORD
把 , 還有 ^w
用 ^p 取代
再丟進 excel排序



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
pcca
銅驢友〔中級〕
等級: 9等級: 9等級: 9


今日心情

 . 積分: 154
 . 文章: 469
 . 收花: 1222 支
 . 送花: 88 支
 . 比例: 0.07
 . 在線: 1722 小時
 . 瀏覽: 14651 頁
 . 註冊: 6847
 . 失蹤: 3
 . 馬來西亞
#4 : 2014-10-8 02:38 PM     只看本作者 引言回覆

有點麻煩, 因為其實這只是我整個要處理的東西其中的一部份
中間會跨伺服器... 所以想寫個 script 自動化一下。



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
陽だまり
白銀驢友
等級: 15等級: 15等級: 15等級: 15等級: 15
ささらの可愛さは異常

 . 積分: 1330
 . 精華: 1
 . 文章: 3159
 . 收花: 10387 支
 . 送花: 26639 支
 . 比例: 2.56
 . 在線: 4508 小時
 . 瀏覽: 30308 頁
 . 註冊: 7199
 . 失蹤: 1207
 . 星の彼方
#5 : 2014-10-9 12:12 PM     只看本作者 引言回覆

版主 MU : 感謝您無私的分享

評分:+1   
需要更進一步的功能就請自已處理了

<textarea name="input" rows="10" cols="100"><br>
<textarea name="output" rows="10" cols="100"></textarea>
<input type="button" value="go" onclick="go()">

<script>
function go(){
  var inputText  = document.getElementsByName("input")[0].value
  var outputText = ""
  var inputArray = inputText.split("\n")
  for(var i=0;i<inputArray.length;i++){
    var thisArray  = inputArray[i].split(" ")
    var leftArray  = thisArray[0]
    var rightArray = thisArray[1].split(",")
    for(var j=0;j<rightArray.length;j++){
      outputText += leftArray + " " + rightArray[j] + "\n"
    }
  }
  document.getElementsByName("output")[0].value = outputText
}
</script>



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  訪問主頁  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
pcca
銅驢友〔中級〕
等級: 9等級: 9等級: 9


今日心情

 . 積分: 154
 . 文章: 469
 . 收花: 1222 支
 . 送花: 88 支
 . 比例: 0.07
 . 在線: 1722 小時
 . 瀏覽: 14651 頁
 . 註冊: 6847
 . 失蹤: 3
 . 馬來西亞
#6 : 2014-10-9 01:45 PM     只看本作者 引言回覆

五體投地, 一堆神人! 先謝謝大家!

也拜託朋友幫忙, 他給的答案:

BEGIN {FS="[ ,]" }
{
head=$1
for(i=2;i<=NF;i++)
        print head,$i

}
存成 pcca.awk

然後
$ awk -f pcca.awk your_data_file



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
x13
銀驢友〔中級〕
等級: 13等級: 13等級: 13等級: 13
瀧崗阡秣

十週年紀念徽章(六級)  

 . 積分: 593
 . 精華: 2
 . 文章: 684
 . 收花: 4193 支
 . 送花: 4742 支
 . 比例: 1.13
 . 在線: 1429 小時
 . 瀏覽: 9650 頁
 . 註冊: 7075
 . 失蹤: 116
 . TWed2k-DVD幫
#7 : 2015-4-11 08:17 AM     只看本作者 引言回覆

既然是linux
先決定你的資料會不會到 windows 上,不會就用LF
CRLF ( \r\n ) ( 0x0D 0x0A )
LF ( \n ) ( 0x0A )

第一個方法
tr ',' '\n'  < file

第二個方法
sed 's/\,/\n/g' file


都是一行



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
hauha
驢有所悟
等級: 3等級: 3


今日心情

 . 積分: 14
 . 文章: 54
 . 收花: 52 支
 . 送花: 108 支
 . 比例: 2.08
 . 在線: 224 小時
 . 瀏覽: 6411 頁
 . 註冊: 7059
 . 失蹤: 1287
#8 : 2015-10-17 08:52 PM     只看本作者 引言回覆

版主 MU : 感謝您無私的分享

評分:+1   
1. 把資料存成文字檔案, 如twed2k.txt
2. 在Linux下編輯twed2k.sh, 內容如下
#=========================================
#!/bin/sh

INPUT="twed2k.txt"
INPUT1=`cat $INPUT | awk '{print $1}' | xargs`

for a in $INPUT1
do
    b1=`cat $INPUT | grep $a | awk '{print $2}' | sed "s/,/ /g"`
    for b in $b1
    do  
        echo $a $b
    done
done
#=========================================
3. chmod 700 twed2k.txt
4. ./twed2k.sh

執行結果:
hauha@ubuntu:~# cat twed2k.txt
abc@example.com sales@yahoo.com,sales@gmail.com,contact@gmail.com
joe9976@example.com admin@abc_tech.com,hotimg@twedk.org
peter@hotmail.com tinypic@gmail.com,pillowangel@mediafire.com,imm@abc.com,debi@hotmail.com
hauha@ubuntu:~# ./twed2k.sh
abc@example.com sales@yahoo.com
abc@example.com sales@gmail.com
abc@example.com contact@gmail.com
joe9976@example.com admin@abc_tech.com
joe9976@example.com hotimg@twedk.org
peter@hotmail.com tinypic@gmail.com
peter@hotmail.com pillowangel@mediafire.com
peter@hotmail.com imm@abc.com
peter@hotmail.com debi@hotmail.com



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
pcca
銅驢友〔中級〕
等級: 9等級: 9等級: 9


今日心情

 . 積分: 154
 . 文章: 469
 . 收花: 1222 支
 . 送花: 88 支
 . 比例: 0.07
 . 在線: 1722 小時
 . 瀏覽: 14651 頁
 . 註冊: 6847
 . 失蹤: 3
 . 馬來西亞
#9 : 2015-12-28 10:17 AM     只看本作者 引言回覆




[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
小坦克
驢手小試
等級: 2


 . 積分: 5
 . 文章: 112
 . 收花: 5 支
 . 送花: 5 支
 . 比例: 1
 . 在線: 4 小時
 . 瀏覽: 240 頁
 . 註冊: 7973
 . 失蹤: 2059
 . 瘋狂坦克World
#10 : 2018-8-9 11:27 AM     只看本作者 引言回覆

學vim用macro很方便


[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
alexanita
銅驢友〔初級〕
等級: 8等級: 8


 . 積分: 118
 . 文章: 307
 . 收花: 823 支
 . 送花: 1003 支
 . 比例: 1.22
 . 在線: 2303 小時
 . 瀏覽: 1060 頁
 . 註冊: 7961
 . 失蹤: 77
 . TWed2k-DVD幫BT組
#11 : 2018-8-11 09:11 AM     只看本作者 引言回覆

版主 MU : 感謝您無私的分享

評分:+1   
#!/bin/sh

# 輸入資料文字檔案來源 input_data.txt
# abc@example.com sales@yahoo.com,sales@gmail.com,contact@gmail.com
# joe9976@example.com admin@abc_tech.com,hotimg@twedk.org
# peter@hotmail.com tinypic@gmail.com,pillowangel@mediafire.com,imm@abc.com,debi@hotmail.com
#

#Input Text File Name 輸入檔案名稱
input_file=input_data.txt

IFS=$'\r\n'
head_email_array=( $(cat ${input_file} | cut -d' ' -f1) )

for head_email_item in ${head_email_array[@]}
do
    IFS=$'\ '
    body_email_array=( $(grep ${head_email_item} ${input_file} | cut -d' ' -f2 | sed -e 's/,/\ /g') )
    for body_email_item in ${body_email_array[@]}
    do
        # 輸出所要結果
        echo "${head_email_item} ${body_email_item}"
    done
done



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記

   

快速回覆
表情符號

更多 Smilies

字型大小 : |||      [完成後可按 Ctrl+Enter 發佈]        

溫馨提示:本區開放遊客瀏覽。
選項:
關閉 URL 識別    關閉 表情符號    關閉 Discuz! 代碼    使用個人簽名    接收新回覆信件通知
發表時自動複製內容   [立即複製] (IE only)


 



所在時區為 GMT+8, 現在時間是 2024-3-29 11:31 PM
清除 Cookies - 連絡我們 - TWed2k © 2001-2046 - 純文字版 - 說明
Discuz! 0.1 | Processed in 0.031517 second(s), 11 queries , Qzip disabled