The current implementation uses both 'grep' and 'awk' for text processing
here, which may be allright as a quick solution to be run on the command
line. While in a script, 'sed' or 'awk' would be a better choice. On
top of that, the current implementation expects the version number to
be found in the last field as seen by 'awk'. Should the output format
be different, this approach would no longer be reliable.

The proposed implementation uses 'sed' as a more flexible tool to handle
varying output formats.

Tested on:
Arch Linux


Signed-off-by: Alexander Kapshuk <alexander.kaps...@gmail.com>
---
--- linux/scripts/ver_linux.orig    2015-10-03 13:41:57.118790241 +0300
+++ linux/scripts/ver_linux    2015-10-03 13:54:03.057927175 +0300
@@ -39,8 +39,13 @@
 fsck.reiser4 -V 2>&1 | grep ^fsck.reiser4 | awk \
 'NR==1{print "reiser4progs          ", $2}'

-xfs_db -V 2>&1 | grep version | awk \
-'NR==1{print "xfsprogs              ", $3}'
+test -x "$xfs_db" &&
+$xfs_db -V 2>&1 |
+sed '
+    /version/!d
+    s/[^0-9\.]//g
+    s/^/xfsprogs\t\t/
+'

 pccardctl -V 2>&1| grep pcmciautils | awk '{print "pcmciautils
   ", $2}'
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to