在linux中我有个一个文件xm.txt,文件中有一列字符串,需要用正则表达式取出为中文开头且中文结尾的行,如何编写shell脚本
时间: 2024-03-05 13:54:23 浏览: 149
可以使用grep命令结合正则表达式来实现。具体的脚本如下:
```bash
#!/bin/bash
grep '^[[:punct:][:alnum:]]*[[:alnum:][:space:]]*[[:punct:][:alnum:]]*$' xm.txt
```
这个脚本会读取当前目录下的xm.txt文件,然后使用grep命令来匹配符合条件的行。正则表达式'^[[:punct:][:alnum:]]*[[:alnum:][:space:]]*[[:punct:][:alnum:]]*$'可以匹配该文件中中文开头且中文结尾的行。其中,'^'表示行首,'$'表示行尾,'[[:punct:][:alnum:]]'表示标点符号和数字,'[[:alnum:][:space:]]'表示字母和空格。
相关问题
写一个油车和电车牌号综合在一起校验的正则表达式
好的,我可以为您提供一个综合校验油车和电车牌号的正则表达式:
```
^(?![DFIOQU])[A-HJ-PR-Z][A-HJ-NP-Z\d]\d{4}(?<!ad|am|ap|az|cd|cm|cp|cz|dd|dm|dp|dz|ea|eb|ec|ed|ef|eg|eh|ej|el|em|en|ep|eq|er|es|et|ev|ew|ex|ey|ez|fd|ff|fg|fh|fj|fk|fl|fm|fn|fp|fq|fr|fs|ft|fv|fw|fx|fy|fz|gd|gf|gg|gh|gj|gk|gl|gm|gn|gp|gq|gr|gs|gt|gv|gw|gx|gy|gz|ha|hb|hc|hd|he|hf|hg|hh|hj|hk|hl|hm|hn|hp|hq|hr|ht|hv|hw|hx|hy|hz|ia|ib|ic|id|ie|if|ig|ih|ij|ik|il|im|in|io|ip|iq|ir|is|it|iv|iw|ix|iy|iz|jd|jf|jg|jh|jj|jk|jl|jm|jn|jp|jq|jr|js|jt|jv|jw|jx|jy|jz|ka|kb|kc|kd|ke|kf|kg|kh|kj|kk|kl|km|kn|kp|kq|kr|ks|kt|kv|kw|kx|ky|kz|la|lb|lc|ld|le|lf|lg|lh|lj|lk|ll|lm|ln|lp|lq|lr|ls|lt|lv|lw|lx|ly|lz|mm|mn|mp|mz|na|nb|nc|nd|ne|nf|ng|nh|nj|nk|nl|nm|nn|np|nq|nr|ns|nt|nv|nw|nx|ny|nz|pa|pb|pc|pd|pe|pf|pg|ph|pj|pk|pl|pm|pn|pp|pq|pr|ps|pt|pv|pw|px|py|pz|qa|qb|qc|qd|qe|qf|qg|qh|qj|qk|ql|qm|qn|qp|qq|qr|qs|qt|qv|qw|qx|qy|qz|ra|rb|rc|rd|re|rf|rg|rh|rj|rk|rl|rm|rn|rp|rq|rr|rs|rt|rv|rw|rx|ry|rz|sa|sb|sc|sd|se|sf|sg|sh|sj|sk|sl|sm|sn|sp|sq|sr|ss|st|sv|sw|sx|sy|sz|ta|tb|tc|td|te|tf|tg|th|tj|tk|tl|tm|tn|tp|tq|tr|ts|tt|tv|tw|tx|ty|tz|ua|ub|uc|ud|ue|uf|ug|uh|uj|uk|ul|um|un|uo|up|uq|ur|us|ut|uv|uw|ux|uy|uz|va|vb|vc|vd|ve|vf|vg|vh|vj|vk|vl|vm|vn|vp|vq|vr|vs|vt|vu|vv|vw|vx|vy|vz|wa|wb|wc|wd|we|wf|wg|wh|wj|wk|wl|wm|wn|wp|wq|wr|ws|wt|wv|ww|wx|wy|wz|xa|xb|xc|xd|xe|xf|xg|xh|xj|xk|xl|xm|xn|xp|xq|xr|xs|xt|xv|xw|xx|xy|xz|ya|yb|yc|yd|ye|yf|yg|yh|yj|yk|yl|ym|yn|yo|yp|yq|yr|ys|yt|yv|yw|yx|yy|yz|za|zb|zc|zd|ze|zf|zg|zh|zj|zk|zl|zm|zn|zo|zp|zq|zr|zs|zt|zv|zw|zx|zy)[DFIOQU]$
```
此正则表达式可以用于校验6位车牌号,包括油车和电车,但是不包括以"AD","AM","AP","AZ","CD"等开头的车牌号。
编写程序XMLtoTXT自动将XML文件email.xm/转换为文本文件email.txt。命今行搭式:X MLtoTXT email.xml email.txt。
好的,以下是一个 Python 编写的 XML 转 TXT 的程序,可以通过命令行参数指定输入和输出文件名:
```python
import sys
import xml.etree.ElementTree as ET
# 获取命令行参数
input_file = sys.argv[1]
output_file = sys.argv[2]
# 打开 XML 文件
tree = ET.parse(input_file)
root = tree.getroot()
# 获取所有文本内容,并写入 TXT 文件
with open(output_file, 'w') as f:
for child in root.iter():
if child.text:
f.write(child.text.strip() + '\n')
```
你可以在命令行中运行 `python XMLtoTXT.py email.xml email.txt` 来将 email.xml 文件转换为 email.txt 文件。
阅读全文