【发布时间】:2025-12-02 05:40:01
【问题描述】:
我有一个固定宽度的文本数据文件。每行长度为 3000 个字符。我需要屏蔽(更改为“X”)位置 1000 和 1200 之间的所有字符。文件中没有分隔符,每个字段都通过其在行中的位置来知道。
如果我只需要更改 10 个字符,我可以使用 sed:
sed -i -r 's/^(.{999}).{10}(.*)/\1XXXXXXXXX\2/'
但是用 200 个X 编写一个sed 命令似乎不是一个好主意。
我尝试使用 awk,但由于数据中的空格,它会为某些行返回不同的值。
【问题讨论】:
-
已投票重新开放。似乎作为欺骗提出的问题(及其所有答案)涉及掩盖整行 - 该问题中的“中间”是指文件的中间行而不是 each 的中间文件中的行。