for file in *.doc; do grep '/[A-Z\.]{225}/' $file > $file.txt; done;
在文件目录中,每个文件都有一个225个字符的字符串(所有大写字母周期性地以点“。”分隔;点是间歇性的:相隔3到15个字母的任何位置)。我需要提取此字符串并将其显示为15x15数据网格。
我正在尝试查找字符串,每15个字符添加回车符,然后将新字符串复制到新文件中;或将所有15x15网格连接到一个文件上。
我不了解grep字符串,因为即使尝试在单个文件中查找字符串也没有产生成功的结果。
grep '/[A-Z\.]{225}/' file332.doc > file332.txt;
示例输入字符串X = A-Z:
... XXXXX.XXXXX.XXXXXXXX.XXXXX.XXXXXXXXXXXXXX.XXX..XXXXXX..XXXXXXXXX.XXXXXXXXXXXXX.XXX.XXXX ... XXXXX..XXX.XXX.XXXXXXXXXXXXXXX.XXX.XXX..XXXXX XXXX.XXX .XXXXXXXXXXXXX.XXXXXXXXX..XXXXXX..XXX.XXXXXXXXXXXXXX.XXXXX.XXXXXXXX.XXXXX.XXXXX
期望的输出:
XXXXX.XXXXX.XXX
XXXXX.XXXXX.XXX
XXXXXXXXXXX.XXX
..XXXXXX..XXXXX
XXXX.XXXXXXXXXX
XXX.XXX.XXXX...
XXXXX..XXX.XXX.
XXXXXXXXXXXXXXX
.XXX.XXX..XXXXX
...XXXX.XXX.XXX
XXXXXXXXXX.XXXX
XXXXX..XXXXXX..
XXX.XXXXXXXXXXX
XXX.XXXXX.XXXXX
XXX.XXXXX.XXXXX
任何帮助表示感谢。
答案 0 :(得分:1)
我建议:
grep -Eo '[A-Z\.]{225}' file332.doc | fold -b -w 15 > file332.txt
输出到file332.txt:
XXXXX.XXXXX.XXX XXXXX.XXXXX.XXX XXXXXXXXXXX.XXX ..XXXXXX..XXXXX XXXX.XXXXXXXXXX XXX.XXX.XXXX... XXXXX..XXX.XXX. XXXXXXXXXXXXXXX .XXX.XXX..XXXXX ...XXXX.XXX.XXX XXXXXXXXXX.XXXX XXXXX..XXXXXX.. XXX.XXXXXXXXXXX XXX.XXXXX.XXXXX XXX.XXXXX.XXXXX