我有一个文本文件。这个文件有5行5列。所有列由“|”分隔(符号)。在第二列(内容)长度应该是7个字符。Unix Shell脚本 - 如何删除文本文件中的特定字符?
如果第二列的长度超过7个字符。然后,我想在不打开该文件的情况下删除这些额外的字符。
例如:
cat file1
FF | hahaha1 | kjbsb | 122344 | jbjbnjuinnv |
df | hadb123_udcvb | sbfuisdbvdkh | 122344 | jbjbnjuinnv |
gf | harayhe_jnbsnjv | sdbvdkh | 12234 | jbjbnj |
qq | kkksks2 | datetag | 7777 | jbjbnj |
jj | harisha | hagte | 090900 | hags |
对于上述情况,第二列长度的第二行和第三行超过7个字符。现在我想删除那些额外的字符,而无需使用awk或sed命令打开输入文件
我在等待你的回复。
在此先感谢!
看到https://stackoverflow.com/editing-help,为了清晰起见添加预期输出效果更好,也可以https://stackoverflow.com/help – Sundeep
如果不打开文件,则无法编辑文件。 –
目前尚不清楚你的“没有打开输入文件”的要求意味着什么。为了读取输入文件,文件_必须被打开。如果你只是不想_overwrite_输入文件,你可以写入临时文件(如@ TomFenech的答案)。 – e0k