echo "#include <linux/ethtool.h>" | "$CC" -E - | \
grep "ETHTOOL_LINK_MODE_[0-9]*base[A-Za-z0-9]*_...._BIT.*" | \
sed -r 's/.*ETHTOOL_LINK_MODE_([0-9]*)base([A-Za-z0-9]*)_(....)_BIT.*/\1 \2 \3/' | \
- sort -u | LC_ALL=C sort -r -g | ( gothalf=0 ; while read speed mode duplex; do
+ sort -u | LC_ALL=C sort -r -g | ( gothalf=0 ; while read -r speed mode duplex; do
if [ "$duplex" = "Half" ]; then
if [ "$gothalf" = "1" ]; then
- echo -e "$speed \tETHTOOL_MODE_HALF($p_speed, $p_mode),"
+ printf "%s" "$speed \tETHTOOL_MODE_HALF($p_speed, $p_mode),\n"
fi
gothalf=1
elif [ "$duplex" = "Full" ]; then
if [ "$gothalf" = "1" ]; then
if [ "$p_speed" = "$speed" ] && [ "$p_mode" = "$mode" ]; then
- echo -e "$speed \tETHTOOL_MODE_BOTH($speed, $mode),"
+ printf "%d \t%s\n" "$speed" "ETHTOOL_MODE_BOTH($speed, $mode),"
else
- echo -e "$p_speed \tETHTOOL_MODE_HALF($p_speed, $p_mode),"
- echo -e "$speed \tETHTOOL_MODE_FULL($speed, $mode),"
+ printf "%d \t%s\n" "$p_speed" "ETHTOOL_MODE_HALF($p_speed, $p_mode),"
+ printf "%d \t%s\n" "$speed" "ETHTOOL_MODE_FULL($speed, $mode),"
fi
gothalf=0
else
- echo -e "$speed \tETHTOOL_MODE_FULL($speed, $mode),"
+ printf "%d \t%s\n" "$speed" "ETHTOOL_MODE_FULL($speed, $mode),"
fi
else
continue
fi
p_speed="$speed"
p_mode="$mode"
- p_duplex="$duplex"
- done ; [ "$gothalf" = "1" ] && echo -e "$p_speed \tETHTOOL_MODE_HALF($p_speed, $p_mode)," ) | \
- LC_ALL=C sort -g | cut -d' ' -f2-
+ done ; [ "$gothalf" = "1" ] && printf "%d \t%s\n" "$p_speed" "ETHTOOL_MODE_HALF($p_speed, $p_mode)," ) | \
+ LC_ALL=C sort -g | sed -r 's/[0-9]* (.*)/\1/'
echo "};"