私は1つのテキストファイルを持っています。このファイルには5行と5列があります。すべての列は "|"で区切られています(シンボル)。 2列目(内容)の長さは7文字でなければなりません。Unixシェルスクリプト - テキストファイル内の特定の文字を削除するにはどうすればよいですか?
第2列の長さが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 |
上記の場合、2番目の列の長さを持つ2番目と3番目の行は7文字以上です。今すぐawkまたはsedコマンドを使用して入力ファイルを開くことなく余分な文字を取り除きたい
私はあなたの回答を待っています。
ありがとうございます!
はhttps://stackoverflow.comを見ます/ edit-help、明瞭にするために出力を追加してください。また、https://stackoverflow.com/help – Sundeep
ファイルを開くことなく編集することはできません。 –
「入力ファイルを開くことなく」という要件が意味することは、正確には不明です。入力ファイルを読むためには、ファイル_を開く必要があります。入力ファイルを_overwrite_したくない場合は、(@ TomFenechの答えのように)代わりに一時ファイルに書き込むことができます。 – e0k