Я разработал небольшой сценарий оболочки для этого. Он отображает длину, строку # и саму строку по длине, которая превышает определенный размер, например 80 символов:
#!/bin/sh
# Author: Surinder
if test $# -lt 2
then
echo "usage: $0 length file1 file2 ..."
echo "usage: $0 80 hello.c"
exit 1
fi
length=$1
shift
LONGLINE=/tmp/longest-line-$$.awk
cat << EOF > $LONGLINE
BEGIN {
}
/.*/ {
current_length=length(\$0);
if (current_length >= expected_length) {
printf("%d at line # %d %s\n", current_length, NR, \$0);
}
}
END {
}
EOF
for file in $*
do
echo "$file"
cat $file | awk -v expected_length=$length -f $LONGLINE |sort -nr
done
rm $LONGLINE
https://github.com/lordofrain/tools/blob/master/longest-line/longest-line.sh
Добавьте следующую строку в свой ~ / .inputrc
файл:
set mark-symlinked-directories on
См. «Синтаксис файла инициализации Readline» в Справочное руководство Bash для получения дополнительной информации по этой теме.
РАБОТАЕТ в Ubuntu 15.10. О чем ты? Вы уверены, что используете bash, а не zsh?
Может быть, только возможно:
echo 'set mark-directories on' >> ~/.inputrc
echo 'export INPUTRC=~/.inputrc' >> ~/.bashrc