4mINSITU24m(1) General Commands Manual 4mINSITU24m(1)
1mNAME0m
insitu - modify files in place with shell commands
1mSYNOPSIS0m
insitu [1m-t22m] file command
1mDESCRIPTION0m
A shell pipeline cannot both read and write to the same file; for
example
cat foo | grep bar > foo
will merely delete the contents of foo.
Insitu wraps a shell command, connecting its standard input and
standard output to the file. If 4mcommand24m finishes successfully, the
file will be truncated (or extended) to the size of the output produced
by the command. If 4mcommand24m returns a non-zero exit status, the file
will not be truncated (unless -t is passed), but contain the output
read from the command, followed by the rest of the original file. The
part of the file overwritten by the command output will be lost.
Insitu runs the command with '$SHELL -c 4mcommand24m', substituting /bin/sh
for $SHELL if the latter is not set.
1mOptions0m
1m-t 22mtruncate 4mfile24m even if 4mcommand24m returns a non-zero exit status.
1mEXIT STATUS0m
insitu returns the exit status of 4mcommand24m. Additionally, 1m128 22mis
returned if invalid flags are passed, 1m129 22mif 4mfile24m cannot be accessed,
and 1m130 22mif the child process for running 4mcommand24m cannot be started.
1mBUGS0m
Insitu is a dangerous and brittle tool that can easily cause data
corruption if the command fails halfway through. Make sure you
understand this risk before running it on important files.
1mSEE ALSO0m
1mcp22m(1),1mmv22m(1),1msh22m(1)
insitu-1.0 4mINSITU24m(1)