awk 除重

1. awk ‘! a[$0]++’ 怎么理解?
这是一个非常经典的去重复项的awk语句,虽然短小,不过涉及到了不少知识点,下面一一解读:
<1> :”!” 即非。
<2>:a[$0],以$0为数据下标,建立数组a
<3>:a[$0]++,即给数组a赋值,a[$0]+=1
<4> :那么组合起来,awk是怎么执行!a[$0]++的呢?

即: '!a[$0]++' 当$0的内容首次出现时,a[$0]将为空(相当于0),
此时将先求!a[$0]的值(也是整个式子的值,即为非空 true ,将影响后续动作,执行默认的print)
然后对a[$0]进行+1,a[$0] 加1后为1,当下次出现时a[$0]即不为空,表达式结果为非真 false,即不打印

例如:
1.除出第二列重复的:
 awk -F ',' '! a[$2]++' test.txt
2.除出行重复的:

 awk -F ',' '! a[$0]++' test.txt

如有疑问,欢迎留言交流。

### WPS文字处理软件中文本垂直居中的方法 在WPS文字处理软件中,为了使文本实现页面上的垂直居中,可以采用多种方式来达到这一目的。 对于整个页面的文本垂直居中,需先将待调整的部分创建成单独的一节。之后,在布局选项卡下的页面设置组中找到并点击“垂直对齐”,从中选取“居中”。此操作能够确保所选部分在整个页面高度范围内位于中央位置[^1]。 当涉及到单元格内的内容时,比如表格里的数据或者图形对象内部的文字,则应该右击目标区域选择“单元格对齐方式”或是在表格属性对话框里指定水平与垂直方向均为居中式样;另外还需注意保持适当行间距以及段落前后留白一致以便更好地呈现居中效果[^3]。 如果追求更便捷的操作体验,还可以通过自定义功能区添加快速访问按钮的方式设定专属快捷键用于一键完成垂直居中的设置。具体路径为:“工具”—“自定义”—“命令”—“表格”,随后把“垂直居中”的指令移至常用工具栏相应位置即可[^4]。 ```python # Python代码仅作为示例展示逻辑流程,并非实际可用语句 def set_vertical_center(): section = document.add_section() # 创建新章节以容纳特定格式的内容 section.vertical_alignment = WD_SECTION_VERTICAL_ALIGNMENT.CENTER # 设置该章节内所有元素沿纸张纵向中心排列 table_properties = cell.table.style.paragraph_format.alignment = WD_TABLE_ALIGNMENT.CENTER # 表格整体居中 cell.vertical_alignment = WD_CELL_VERTICAL_ALIGNMENT.CENTER # 单元格内容垂直居中 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值