Linux Commands Examples

A great documentation place for Linux commands


attribute matching and manipulation on message catalog


msgattrib [OPTION] [INPUTFILE]

add an example, a script, a trick and tips

: email address (won't be displayed)
: name

Step 2

Thanks for this example ! - It will be moderated and published shortly.

Feel free to post other examples
Oops ! There is a tiny cockup. A damn 404 cockup. Please contact the loosy team who maintains and develops this wonderful site by clicking in the mighty feedback button on the side of the page. Say what happened. Thanks!


for x in *.po; do
msgattrib --no-obsolete -o ${x}.new ${x}
mv ${x}.new ${x}
count=$(msgattrib --untranslated $lang | grep -c "msgid")
count2=$(msgattrib --untranslated $js | grep -c "msgid")
for x in i18n/*.po; do
msgattrib --no-obsolete -o ${x}.new ${x}
mv ${x}.new ${x}
TOTAL=$(msgattrib --no-obsolete $PO_MESSAGES | count_msgids)
FUZZY=$(msgattrib --only-fuzzy --no-obsolete $PO_MESSAGES | count_msgids)
msgattrib --translated --no-fuzzy --no-obsolete $PO_MESSAGES \
| count_msgids
count=$(msgattrib --untranslated $lang | grep -c "msgid")
echo -e "$(dirname $dir)\t$count"
msgattrib --untranslated "$X" | grep -A 2147483647 "^#:"
msgattrib --fuzzy "$X" | grep -A 2147483647 "^#:"


Filters the messages of a translation catalog according to their attributes, and manipulates the attributes.

Mandatory arguments to long options are mandatory for short options too.

Input file location:

input PO file

-D, --directory=DIRECTORY

add DIRECTORY to list for input files search

If no input file is given or if it is -, standard input is read.

Output file location:
, --output-file=FILE

write output to specified file

The results are written to standard output if no output file is specified or if it is -.

Message selection:

keep translated, remove untranslated messages


keep untranslated, remove translated messages


remove ’fuzzy’ marked messages


keep ’fuzzy’ marked messages


remove obsolete #~ messages


keep obsolete #~ messages

Attribute manipulation:

set all messages ’fuzzy’


set all messages non-’fuzzy’


set all messages obsolete


set all messages non-obsolete


remove the "previous msgid" from all messages


manipulate only entries listed in FILE.po


manipulate only entries not listed in FILE.po


synonym for --only-fuzzy --clear-fuzzy


synonym for --only-obsolete --clear-obsolete

Input file syntax:
, --properties-input

input file is in Java .properties syntax


input file is in NeXTstep/GNUstep .strings syntax

Output details:

use colors and other text attributes always


use colors and other text attributes if WHEN. WHEN may be ’always’, ’never’, ’auto’, or ’html’.


specify CSS style rule file for --color

-e, --no-escape

do not use C escapes in output (default)

-E, --escape

use C escapes in output, no extended chars


write PO file even if empty

-i, --indent

write the .po file using indented style


do not write ’#: filename:line’ lines

-n, --add-location

generate ’#: filename:line’ lines (default)


write out strict Uniforum conforming .po file

-p, --properties-output

write out a Java .properties file


write out a NeXTstep/GNUstep .strings file

-w, --width=NUMBER

set output page width


do not break long message lines, longer than the output page width, into several lines

-s, --sort-output

generate sorted output

-F, --sort-by-file

sort output by file location

Informative output:
, --help

display this help and exit

-V, --version

output version information and exit


Copyright © 2001-2010 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <>
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

reporting bugs

Report bugs to <bug-gnu-gettext[:at:]gnu[:dot:]org>.

see also

The full documentation for msgattrib is maintained as a Texinfo manual. If the info and msgattrib programs are properly installed at your site, the command

info msgattrib

should give you access to the complete manual.


Written by Bruno Haible.

How can this site be more helpful to YOU ?

give  feedback