Ответ Radu вполне достаточен и предпочтителен, хотя, если вы хотите более явное и основанное на оболочке решение, вы можете использовать следующий скрипт:
#!/bin/bash
longest_length=0
longest_string=0
while IFS= read -r line
do
if [ "${#line}" -gt "$longest_length" ]
then
longest_length="${#line}"
longest_string="$line"
fi
done < "$1"
# Additional check, in case the file doesn't end in newline
if [ -n "$line" ]
then
if [ "${#line}" -gt "$longest_length" ]
then
longest_length="${#line}"
longest_string="$line"
fi
fi
echo "$longest_string"
Использование: ./find_longest.sh input.txt
Пример:
$ cat input.txt
1 2
2 3 a a a a
4 5 6
1 1 1 5
$ ./find_longest.sh input.txt
2 3 a a a a