I would like to detect an appropriate file extension in sh shell based on a content of a string variable.
I tried to use for that file - manual
If I do:
echo "bar" > foo.txt
file foo.txt
file --mime-type foo.txt
then I get a valid result:
foo.txt: ASCII text
foo.txt: text/plain
but how to get the same result without creating a file and get content type?
I tried:
file <(echo 'bar')
and got:
/dev/fd/63: symbolic link to pipe:[1452271]
and with:
echo 'bar' | file
I got:
Usage: file [-bcCdEhikLlNnprsSvzZ0] [--apple] [--extension] [--mime-encoding]
[--mime-type] [-e <testname>] [-F <separator>] [-f <namefile>]
[-m <magicfiles>] [-P <parameter=value>] [--exclude-quiet]
<file> ...
file -C [-m <magicfiles>]
file [--help]
Is there any way to get with file:
foo.txt: ASCII text
foo.txt: text/plain
but without creating the file itself?
Perhaps I could use other app instead of file?
Try to use dash "-" argument of
file.Example 1:
Example 2:
Example 3:
Example 4: