免费注册 查看新帖 |

  平台 论坛 博客 文库
12下一页
最近访问板块
查看: 141020 | 回复: 12

[文本处理] 请教高难度 shell脚本 搞定加微信发红包奖励 [复制链接]

      论坛徽章:
      0
      1 [收藏(0)] [报告]
      发表于 2018-12-08 10:43 |只看该作者 |倒序浏览

      来源:新京报 网址:http://www.mxy4grjo.cn/a/www.wenjiao.ozhou.com.cn/

        北京市经济和信息化局赴北汽集团开展调研工作 你将有机会建立国际人脉,获得更广阔的就业机会。其中改革比较多就是托福写作,可以用2个关键字抓住改革的关键字1:短:改革之前要求在30分钟内完成至少300字的独立写作,而现在只要求100字,当然时间也缩短到10分钟。

      播报:
        •   在遵循上海二期课改课程标准的基础上,注重传承中国源远流长的历史文化;在沉浸式的多元化教学环境中,培养学生发展多元智能,促进全面发展。假设罐子中红色弹珠的数量为r,根据题目我们已知选中红色弹珠的概率为2/3,选择红色弹珠的概率等于罐子中红色弹珠的数目除以弹珠的总数,因此可以列出方程r/r+36=2/3,化简,可解得r=72国际高中入学考试数学真题答案故选D相关推荐:摘要:在这8年间,上海的国际学校飞速增长,已经有110多所。

            下午12:30,老师们带着自己对《规划》的思考,围绕着“初高中课程的创新与重构”、“课堂教学质量的提高”、“民南教师的团队建设”三个方面进行分组讨论,细化实施步骤。学习能力包校自主设计了一系列活动来了解申请学生在英语、中文和数学方面的能力。

            更多详细的信息,可以相关推荐:

            1、本网站尊重用户隐私,严格按照国家有关规定处理在网站上预留的信息。这些项目通常要求学生具备一定的学术成绩和语言能力,但并不完全依赖高考成绩。

          重点推荐:北京市经济和信息化局赴北汽集团开展调研工作 摘要:大家都知道国内的国际高中都是需要面试的,在美国高中入学的面试中,一般分为两种面试方式,一种是视频面试,一种是电话面试,少数学校可能会采用来到中国做一个现场面试。关于考前、考中有很多的维度跟国内考试不同,以下是爱德思A-Level考前文具要求、需携带/违禁物品、考试注意事项等一系列问题,分享给各位考生和家长:自备1.透明铅笔盒/袋2.黑色水笔、铅笔(HB)、尺子、橡皮3.禁止使用修正笔/修正液/修正带/可擦笔/浅色中性笔/荧光笔等4.具体每场考试的文具要求需看每个考试季的官方文具表《StationaryandMaterials》5.计算器,如果考试期间计算器有问题,考点会提供备用计算器学校提供1.字典考点会在考试前发放,不要在上面做笔记,禁止带出考场2公式书考点会在考试前发放,不要在上面做笔记,禁止带出考场1.一定记得带身份证或护照2.不要迟到!提前30分钟到达考场,存包、检查证件、整理文具、.上洗手间等3.严禁携带规定以外的物品进入考场,包括电子设备(如:手机、手表、MP3/4播放器等),如果发现即为作弊,本场考试可能成绩取消,情节严重者,取消考试资格。

          北京市经济和信息化局赴北汽集团开展调研工作



          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"


          哪个大神 搞定的话  请留下 微信号   

          论坛徽章:
          8
          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
          复制代码

          试试看。

          论坛徽章:
          25
          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 |只看该作者
          12下一页
          返回列表
          雷锋28网 雷锋28网 程序设计 Shell 请教高难度 shell脚本 搞定加微信发红包奖励
          您需要登录后才可以回帖 登录 | 注册

          本版积分规则 发表回复

            

          北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
          未成年举报专区
          中国互联网协会会员  联系我们:huangweiwei@itpub.net
          感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

          清除 Cookies - ChinaUnix - Archiver - WAP - TOP
            
          分享:

          收藏

          --

          --

          无障碍浏览