logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

ainsl - AppendIfNoSuchLine

Author

       Thomas Lange <lange@cs.uni-koeln.de>

FAI 4                                             8 march 2012                                          ainsl(1)

Description

       Add  LINE to the end of FILE if the file does not contain the line already. If PATTERN is given, then the
       LINE is only appended if PATTERN is not found in the file.

       Since ainsl is written in Perl, you can use Perl's regular expressions in  PATTERN.  If  PATTERN  is  not
       supplied, LINE is used instead for matching a line in FILE. LINE may also contain the anchors '^' and '$'
       which  are  only  treated specially at the beginning or end of the pattern and are used for matching, not
       when adding the line. Additionally, the following characters are escaped in LINE: ( ) +

       The exit code returned by ainsl is 0 on success and non-zero on error.  See the section EXIT CODES.

Examples

       ainsl -v /etc/fstab '/dev/fd0  /floppy  auto  users,noauto 0 0'

       Append  the  entry for the floppy device to /etc/fstab, if the line isn't already present. If the line is
       already in /etc/fstab, but is commented out it will not be added unless you extend the pattern  to  match
       only at the beginning of the line:

       ainsl -v /etc/fstab '^/dev/fd0  /floppy  auto  users,noauto 0 0'

       ainsl -s /etc/exports '/srv/www @linuxhosts(async,rw) backup(async,ro)'

       Add exports entry without exactly matching spaces.

Exit Codes

0      Success: Either FILE contains the LINE/PATTERN or LINE was appended to FILE.

       13     Permissions do not allow writing to FILE and LINE/PATTERN was not found in file.

       28     FILE cannot be written because the filesystem has no space and LINE/PATTERN was not found in file.

       30     FILE cannot be written because the filesystem is read-only and LINE/PATTERN was not found in file.

Name

       ainsl - AppendIfNoSuchLine

Notes

       This is a similar function to AppendIfNoSuchLine from cfengine(8).

Options

-a     Autocreate file if it does not exist.

       -D     Create debugging output.

       -h     Show help, version and summary of options.

       -n     Print the actions, but do not execute them.

       -Q     Quote all metacharacters in pattern. Uses perl's \Q function.

       -q     Quote * and + metacharacters in pattern.

       -s     Convert white space in LINE or PATTERN to '\s+' regexp for matching.

       -N     Don't prepend '$AINSL_TARGET/' to filename, even if it is set.

       -v     Create verbose output.

See Also

       This  program  is part of FAI (Fully Automatic Installation).  See the FAI manual for more information on
       how to use ainsl.  The FAI homepage is https://fai-project.org.

Synopsis

ainsl [options] FILELINE[PATTERN]

See Also