How to Delete Lines Longer Than XY Using sed sed How can i delete a line if it is longer than e.g.: 2048 chars? Best Answer sed '/^.\{2048\}./d' input.txt > output.txt Related SolutionsHow to remove lines shorter than XY You could use sed. The following would remove lines that are 3 characters long or smaller: sed -r '/^.{,3}$/d' filename In order to save the changes to the file in-place, supply the -i option. If your version of sed doesn't support extended RE syntax, then you could write the same in BRE: sed '/^.\{,3\}$/d' filename which would work with all sed variants. You could also use awk: awk 'length($0)>3' filename Using perl: perl -lne 'length()>3 && print' filename Conditionally delete a line from file Typical job for awk: awk 'NR == 1 {first = $1}; $1 - first <= 10' < file Or to do it only for the last line: awk 'NR == 1 {first = last = $0; next} {print last; last = $0} END {if (NR && last - first <= 10) print last}' < file Related QuestionDelete nth line (when counted from the bottom)
Best Answer