網上可以賭錢的游戲   免費注冊 查看新帖 |

網上可以賭錢的游戲

  平臺 網上游戲 博客 文庫
最近訪問板塊 發新帖
查看: 11900 | 回復: 10
打印 上一主題 下一主題

[文本處理] 請教高難度 shell腳本 搞定加微信發紅包獎勵 [復制鏈接]

本文地址:http://www.hznkw.tw/thread-4300361-1-1.html
文章摘要:請教高難度 shell腳本 搞定加微信發紅包獎勵 ,加工企業每走一步機螺釘,周轉蔥蘢玉莖。

小富即安

網上游戲徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發表于 2018-12-08 10:43 |只看該作者 |倒序瀏覽


A 表格如下  第22列 第23列(紅色為22列)

"232"|"1er"|"eqw"|.......|"OTH"|"WY"|"rr"
"222"|"e6r"|"wqw"|.......|"Citizen"|"WY"|"rr"
"222"|"1er"|"eqw"|.......|"Dual_Citizen"|"WY"|"rr"
"212"|"eer"|"wqw"|.......|"Resident"|"WY"|"rr"
"252"|"e2r"|"eqw"|.......|""|"WY"|"rr"
"252"|"e2r"|"eqw"|.......|"WQC"|"WY"|"rr"

只保留23列 保留規則如下
如果22列的值是  "OTH" 或者 "Resident" 其對應的23列的值保持不變
如果22列的值是  "Citizen"或者"Dual_Citizen" 其對應的23列的值替換為 "US"
如果22列的值 為空 "" 其對應的23列的值替換為 "DKK_US"
如果22列的值 不為空 也不是上面 四個值 其刪除改行


改后效果如下

"232"|"1er"|"eqw"|.......|"WY"|"rr"
"222"|"e6r"|"wqw"|.......|"US"|"rr"
"222"|"1er"|"eqw"|.......|"US"|"rr"
"212"|"eer"|"wqw"|.......|"WY"|"rr"
"252"|"e2r"|"eqw"|.......|"DKK_US"|"rr"


哪個大神 搞定的話  請留下 微信號   

網上游戲徽章:
5
2016科比退役紀念章
日期:2018-10-24 08:24:0115-16賽季CBA聯賽之北控
日期:2019-03-12 14:34:562016科比退役紀念章
日期:2019-04-01 10:33:0915-16賽季CBA聯賽之山東
日期:2019-04-17 12:46:3215-16賽季CBA聯賽之廣夏
日期:2019-05-09 16:40:40
2 [報告]
發表于 2018-12-10 11:05 |只看該作者
  1. gawk 'BEGIN{FS=OFS="|"}$22 ~"Citizen"{$23="\"US\""} $4~ "\"\""{$23="\"DKK_US\""} $22 ~"OTH|Resident|Citizen|\"\""{print $0}' A.txt
復制代碼

試試看。

網上游戲徽章:
21
程序設計版塊每日發帖之星
日期:2016-05-03 06:20:0015-16賽季CBA聯賽之深圳
日期:2018-06-15 14:59:3715-16賽季CBA聯賽之八一
日期:2018-07-03 16:56:4615-16賽季CBA聯賽之八一
日期:2018-07-05 10:34:09黑曼巴
日期:2018-07-06 15:19:5015-16賽季CBA聯賽之佛山
日期:2018-08-03 13:19:3315-16賽季CBA聯賽之山西
日期:2018-08-07 19:46:2315-16賽季CBA聯賽之廣夏
日期:2018-08-08 19:31:5015-16賽季CBA聯賽之青島
日期:2018-11-26 15:21:5015-16賽季CBA聯賽之青島
日期:2018-06-08 13:45:2815-16賽季CBA聯賽之同曦
日期:2018-06-04 19:42:2015-16賽季CBA聯賽之山東
日期:2018-05-30 12:44:59
3 [報告]
發表于 2018-12-10 12:23 |只看該作者
本帖最后由 wh7211 于 2018-12-10 19:47 編輯

回復 1# xin2v

  1. awk 'BEGIN{FS=OFS="|"}{if($22~"OTH|Resident"){NF=NF}else if($22~"Citizen|Dual_Citizen"){$23="\042US\042"}else if($22~"\042\042"){$23="\042DKK_US\042"}else{next}}1' A
復制代碼

網上游戲徽章:
0
4 [報告]
發表于 2018-12-10 17:27 |只看該作者
樓主文本多少行,列?

網上游戲徽章:
0
5 [報告]
發表于 2018-12-11 12:28 |只看該作者
1 這個不難。
2
======================================================
問:為何不建議大家使用txt,csv保存數據?
答:
好的沙發是寶貝,斷腿沙發和它差不多,卻是垃圾。
整理好的數據是寶貝,雜亂堆放在txt,log中的未處理數據,卻是垃圾。
csv中用單雙引號,數據沒有相關的類型綁定,沒有精度綁定。

如果說raw是,干凈的裸數據。

txt不是干凈的裸數據,txt是字符串,它含有雜亂格式,空格,tab,分隔符。
大多數情況下,字段順序也都未整理。

excel就是,干凈的裸數據,加富類型。
excel中的數據也不是最好的,也需要整理。



======================================================
問:excel有何好處?
答:
1 excel可以合并單元格。
2 支持圖表,公式。
3 單元格內支持單雙引號,單元格內的數據有,類型,有精度。
4 有圖形軟件,操作簡單。
等。

3 win + excel + powershell ,測試通過,結果正常。

  1. $輸入文件 = 'a:\pscode\0\excel\temp209\b.xlsx'



  2. #region main
  3. $excel對象 = New-Object -comobject Excel.Application
  4. $SheetName = "sheet1"
  5. $Excel工作簿 = $excel對象.Workbooks.Open($輸入文件)
  6. $Excel工作表 = $Excel工作簿.Worksheets.Item($SheetName)
  7. $excel對象.Visible = $true
  8. $列 = 23
  9. $列2 = 24

  10. $行 = 1
  11. $最大行 = $Excel工作表.UsedRange.rows.count
  12. write-host $最大行

  13. for ($i = $行;$i -le $最大行;$i++)
  14. {
  15.         $單元格 = $($Excel工作表.Cells.Item($i,$列).Value2).ToString()
  16.         switch ($單元格)
  17.         {
  18.                 'OTH' {break}
  19.                 'Resident' {break}
  20.                 'Citizen' {$Excel工作表.Cells.Item($i,$列2).Value2 = "US";break}
  21.                 'Dual_Citizen' {$Excel工作表.Cells.Item($i,$列2).Value2 = "US";break}
  22.                 '' {$Excel工作表.Cells.Item($i,$列2).Value2 = "DKK_US";break}
  23.                 default {[void]$Excel工作表.Cells.Item($i,$列).EntireRow.Delete() }
  24.         }
  25. }
  26. [void]$Excel工作表.Cells.Item($i,$列).EntireColumn.Delete()




  27. $Excel工作簿.save()
  28. #endregion main





  29. #region  掃尾
  30. Start-Sleep 2
  31. $Excel工作簿.close()
  32. Remove-Item  "$home\documents\resume.xlw" -ErrorAction:SilentlyContinue
  33. Start-Sleep 2
  34. $excel對象.Quit()


  35. Start-Sleep 2
  36. [System.Runtime.InteropServices.Marshal]::ReleaseComObject($Excel工作簿)
  37. [System.Runtime.InteropServices.Marshal]::ReleaseComObject($excel對象)
  38. [System.Runtime.InteropServices.Marshal]::ReleaseComObject($excel對象)
  39. Start-Sleep 2
  40. [System.GC]::Collect()
  41. [System.GC]::WaitForPendingFinalizers()

  42. Remove-Item  "$home\documents\resume.xlw" -ErrorAction:SilentlyContinue
  43. Write-Host "------------end-------------"
  44. Write-Host "---腳本運行完畢后,輸入exit命令退出powershell窗口。或點擊右上角的x,關閉powershell窗口,后臺excel.exe即可自動退出。---"
  45. exit 0
  46. #endregion  掃尾

復制代碼


不知道為啥,最近處理行列表格數據的需求,多起來了。
我打算安利一波 ps + excel 處理表數據。

大家記住,ps (或py)+ excel 是高級的數據處理!

網上游戲徽章:
0
6 [報告]
發表于 2018-12-11 13:28 |只看該作者
本友會機友會攝友會 發表于 2018-12-11 12:28
1 這個不難。
2
======================================================

大哥 是LINUX 服務器啊

網上游戲徽章:
0
7 [報告]
發表于 2019-01-03 17:30 |只看該作者
回復 2# cfwyy

如果需求變了原來是
如果22列的值 不為空 也不是上面 四個值 其刪除改行
現在是不刪除  該如何處理 ?

網上游戲徽章:
0
8 [報告]
發表于 2019-01-03 17:32 |只看該作者

如果需求變了原來是
如果22列的值 不為空 也不是上面 四個值 其刪除改行
現在是不刪除  該如何處理 ?

網上游戲徽章:
0
9 [報告]
發表于 2019-01-03 17:42 |只看該作者
awk 'BEGIN{FS=OFS="|"}{if($4~"OTH|Resident"){NF=NF}else if($4~"Citizen|Dual_Citizen"){$5="\042US\042"}else if($4~"\042\042"){$5="\042DKK_US\042"}}1' A

想通了 謝謝

網上游戲徽章:
0
10 [報告]
發表于 2019-04-12 09:56 |只看該作者
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規則 發表回復

梭巡
基于案例的 SQL 優化實戰訓練營

講師:中電福富特級專家梁敬彬,參與本次課程培訓,你將收獲:
1. 能編寫出較為高效的 SQL;
2. 能解決70%以上的數據庫常見優化問題;
3. 能得到老師提供的高效的相關工具和解決方案;
4. 能舉一反三,收獲不僅僅是 SQL 優化。
現在購票享受8.8折優惠!
----------------------------------------
優惠時間:2019年3月20日前

大會官網>>
<鏈輪> 安卓版四人麻将 内蒙快三旧版走势图 贵州快三开奖网址 湖南快乐十分app qq麻将怎么玩 山西快乐八位 河北快3开彩经网 重庆快乐10分开奖直播 快三下期号码预测推荐 四川快乐12基本走势图带连线 3d试机号走势图一机一球
  

北京盛拓優訊信息技術有限公司. 版權所有 16024965號-6 北京市公安局海淀分局網監中心備案編號:11010802020122
中國互聯網協會會員  聯系我們[email protected]
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP
   <鏈輪>内蒙快三旧版走势图 贵州快三开奖网址 湖南快乐十分app qq麻将怎么玩 山西快乐八位 河北快3开彩经网 重庆快乐10分开奖直播 快三下期号码预测推荐 四川快乐12基本走势图带连线 3d试机号走势图一机一球