| 123456789101112131415161718192021222324252627282930 | 
							- #!/bin/bash
 
- FILE=$1
 
- clean_labels() {
 
-     echo $* | \
 
-         sed -r -e 's/,/ /g' -e 's/ +/ /g' -e 's/^\s*//' -e 's/\s*$//' | \
 
-         tr '[[:lower:]]' '[[:upper:]]' | \
 
-         tr ' ' '\n' | \
 
-         sort -u | tr '\n' ' ' | \
 
-         sed 's/\s*$//'
 
- }
 
- prepare_labels() {
 
-     clean_labels $* | sed 's/ /, /g'
 
- }
 
- CURRENT_LABELS=$(clean_labels $(formail -z -x X-Label < "${FILE}"))
 
- read -e -p "Enter labels (space separated): " -i "$CURRENT_LABELS" NEW_LABELS
 
- NEW_LABELS=$(prepare_labels $NEW_LABELS)
 
- FILE_TMP=$(mktemp "$(basename $(readlink -f "${0}"))_XXXXXX")
 
- if formail -z -I "X-Label: $NEW_LABELS" < "${FILE}" >> "${FILE_TMP}" && \
 
-     cp "${FILE_TMP}" "${FILE}" ; then
 
-     rm -f "${FILE_TMP}"
 
- fi
 
- exit 0
 
 
  |