Questions tagged [printf]
The shell builtin command that formats and prints data. Questions that deal with printf command or broadly using printf syntax by programming language (like awk, PHP, perl, C++...)
282
questions
5
votes
1
answer
234
views
printf in Zsh does not shell escape exclamation mark
In Zsh 5.9, we can use printf to shell escape a string:
$ printf '%q' 'One! Two'
One\!\ Two
This produces the correct output of escaping the ! and the space. Now let’s make it as a script:
#!/bin/...
7
votes
1
answer
633
views
printf - store formatted string output in a variable
Instead of the following
printf '%s\t%s\t%s\t%s\n' 'index' 'podcast' 'website' 'YouTube'
I want to store the printf output in a Results variable, how can I do this?
0
votes
1
answer
46
views
How do I pass hex characters to printf in a script command? [duplicate]
How do I get printf to output hex characters when run from a script?
Suppose I am at the prompt and type printf "\x41\x42" the output I get
AB%
However if I have a script containing that ...
2
votes
1
answer
140
views
Why does printing an array with @ using printf in bash only print the first element?
I have an array
snapshots=(1 2 3 4)
When I run
printf "${snapshots[*]}\n"
It prints as expected
1 2 3 4
But when I run
printf "${snapshots[@]}\n"
It just prints
1
without a ...
0
votes
1
answer
277
views
List all files in a directory, recursively, sorted by modification date
The main answer of Sort the files in the directory recursively based on last modified date gives a method to list all files in a directory, recursively, sorted by modification date:
find -printf "...
0
votes
0
answers
16
views
How to preserve updating output in pipe, e.g. when output has `\r`
Whenever I pipe some output that is updating (say with \r), e.g. to a pager (less), or to colourise parts of it, the pipe seems to drop the lines that are updating. Any idea how to preserve the ...
2
votes
1
answer
148
views
Print Variable containing backslashes
I have something like this:
A=$(curl https://mysite.com)
and the curl request returns the string \"Hello World\".
When I now want to print A to the console using one of:
echo "$A"
...
2
votes
1
answer
298
views
"ls" counterpart to "find" operator "-printf"?
The find command has a handy -printf operator that prints
user-specified metadata for each found file/folder. Is there such an
option for the ls command?
As an alternative, I can feed the list of ...
-1
votes
1
answer
162
views
Why does printf not round numbers the way I expect in my bash? [duplicate]
prompt> printf "%.2f\n" 3.314
3.31
prompt> printf "%.2f\n" 3.315
3.32
This is fine, I got what I wanted. However if I use different numbers, I get this:
prompt> printf &...
0
votes
2
answers
204
views
Why might I want to avoid such echo-like way of using `printf` when printing to stdout? [duplicate]
I wrote the following script when trying to understand how printf works:
#!/usr/bin/bash
printf "Give me your three preferences.?
"
read p1
read p2
read p3
printf "%s\n" "${...
0
votes
0
answers
46
views
How to pass a binary number to printf? [duplicate]
Such a silly question but I've been trying for at least 15 minutes already and it's late at night. How to use printf in bash to convert a binary number to hex? Here's what I've tried:
$ printf %x 11 ...
0
votes
2
answers
397
views
Bash and other shells $(...) remove the ending newline character [duplicate]
Why the shell structure $(...) removes the ending newline character?
#!/bin/bash
S='a
b
'
printf '%i [%s]\n' "${#S}" "$S"
T=$(printf '%s' "$S")
printf '%i [%s]\n' "...
0
votes
1
answer
24
views
how to write a commant for output of a particular group?
Reading file prod1.tpr, VERSION 2019.6 (single precision)
Reading file prod1.tpr, VERSION 2019.6 (single precision)
Select a group of reference atoms and a group of molecules to be ordered:
Group ...
0
votes
1
answer
131
views
Flush output continuously with xargs
The function output the size of the downloaded file and the speed of transfer separated with newline.
Example:
20 #<< data
3.0M #<< speed
25
1.2M
Now, it goes like this:
output_data_func |...
2
votes
2
answers
318
views
Why does awk concatenate strings from different lines
Good day.
I'm trying to run a ping6 on IPv6 addresses pulled from /etc/resolv.conf.dnsph. It seems though, as if awk is stringing the IPv6 addresses onto one line.
$ grep ^nameserver /etc/resolv.conf....
5
votes
1
answer
830
views
How to use argument twice in printf in shell?
printf %s%s one two prints onetwo but I would like oneonetwotwo
How can I do that?
0
votes
0
answers
34
views
printf and echo -n Work Differently - Why? [duplicate]
echo -n
my_function() {
echo -n "$@"
}
my_function hello world
I get my desired output:
hello world
printf
my_function() {
printf "$@"
}
my_function hello world
I get only ...
2
votes
1
answer
367
views
how to use read -s with printf
If I use "read -s" it deletes the existing line and brings the next prompt to the same line as mentioned below. Please let me know any solution to this error. I need to use "-s" ...
0
votes
0
answers
59
views
Rounding 2.555500000000000104805053 with printf -> 2.555 or 2.556? [duplicate]
I tried
printf "%.3f\n" 2.555500000000000104805053
printf "%.3f\n" 2.555500000000000104805054
the result was
2.555
2.556
same with printf "%.3f\n" 3....
2
votes
1
answer
320
views
printf "%.3f" ${variable with newlines} - error with \n
Like HERE I have a file.csv with numbers in quotes:
"0.2"
"0.3339"
"0.111111"
To round the number (3 decimals) this solutions works great:
printf "%.03f\n" $(...
5
votes
3
answers
999
views
Rounding many values in a csv to 3 decimals (printf ?)
I have a paste command like this
paste -d , file1.csv file2.csv file3.csv
And file2.csv contains numbers like this
0.2
0.3339
0.111111
I want the values in file2.csv having 3 decimals like this:
0....
0
votes
1
answer
315
views
What format to pass to printf to convert seconds to hh:mm:ss?
I'm looking at an instruction of the form:
$ printf [format] $elapsed
with $elapsed expressed in seconds. I want it to output 'hh:mm:ss'. I couldn't figure out format from the man. Would someone ...
0
votes
1
answer
56
views
first character goes to last when formatting XYZ columns with printf awk
I have a file with 7 columns and I want to get the first 4 and format them with awk. When I use awk without formatting it works however when I put it with printf it happens that the first character of ...
2
votes
4
answers
2k
views
How to find out if pipe is broken?
I have a POSIX shell script which has its standard output 1 redirected to a pipe. At some point of the script execution, the pipe will break and I'd like to find out (in my shell script) when that ...
0
votes
1
answer
228
views
Loop to Monitor Line Count Growth Using wc -l
I've written a short bash script to monitor the line count growth (wc -l) in a file which is receiving results from a loop.
Thus:
printf "Name of file to monitor\n"
read file
printf "...
1
vote
1
answer
165
views
Why I can pipe echo into bc, but I can't do the same with printf?
I can pipe echo into bc.
But I cannot do the same with "printf": it gives syntax error.
❯ echo "100-5" | bc
95
❯ printf "%s" "100-5" | bc
(standard_in) 1: ...
0
votes
3
answers
708
views
How to convert seconds to hh:mm:ss.ms when getting difference between 2 times
I performed a calculation that converts current timestamp giving milliseconds as well using perl command such as below:
perl -MTime::HiRes=time -MPOSIX=strftime -e '
$now = int(time() * 1000);
printf &...
0
votes
2
answers
52
views
Shell function to center its first argument
In the nano text editor, I can pipe the selection into a command, and I quite often need to center text, so I came up with the following code
center() {
str=$1
# Strip leading and trailing ...
3
votes
2
answers
2k
views
How can I write in multiple files at once using 'cat'?
This question is kind of related to my previous question.
This is the output of tree:
[xyz@localhost Semester1]$ tree
.
├── Eng
│ ├── credits
│ ├── links
│ └── notes
├── IT
│ ├── credits
│ ├─...
2
votes
2
answers
357
views
Split string into lines, then frame output
I've been working on a way to take a string, set a max character width then split the lines near or at the limit by words and then frame the whole thing.
I managed to do it with printf an array and a ...
1
vote
1
answer
1k
views
Linux C | How can we redirect printf to syslog?
We are using printf till now and the output was coming to stdio. Now we want to remove it from stdio and put in syslog.
I have a big code base and so replacing all the printf will not be a good ...
1
vote
2
answers
1k
views
How to count the number of lines per file in a directory, then create summary of number of files with n lines
I'm trying to create a summary of how many files in a directory have n number of lines in them. I'm using wc -l * | sort to print out the number of lines against the name of each file. What I'm trying ...
2
votes
1
answer
1k
views
Is it safe to snprintf with output to NULL and size 0?
Is it safe to call snprintf(NULL, 0, "…", …)? I can also ask in other way: Does snprintf write the NUL char if size is 0?
The example in Linux man-pages manpage printf(3) provides an example ...
0
votes
0
answers
597
views
Writing a File with CSV Header Column and Unique Column Values in Bash
I have a bunch of csvfiles that I'm importing into a database. I'd like to get a preview of the unique values in each column to help me create the tables. I've written a script that takes a input csv ...
0
votes
1
answer
50
views
Calling printf without a connected monitor
I would like to know if when we call printf without connecting a monitor (and uninstalling any driver related to the screen), does a driver get called anyway?
0
votes
0
answers
470
views
write terminal output to file while keeping new lines [duplicate]
when I call env to see the environment variables it shows nicely with new lines:
$ env
SHELL=/bin/sh
EDITOR=vi
PWD=/home/user
...
but when I want to store this to a file the new lines get ...
16
votes
2
answers
3k
views
Are there security consequences from not giving printf a format to use?
A well-formed printf usually has a format to use:
$ var="Hello"
$ printf '%s\n' "$var"
Hello
However, what could be the security implications of not providing a format?
$ printf &...
2
votes
2
answers
673
views
How to format timestamp field with AWK/GAWK
I am processing a CSV file with GAWK that has a field with a timestamp formatted like this "18-APR-22 11:00:00". I would like to format the date like this in the output of awk "2022-04-...
2
votes
1
answer
290
views
How to avoid Bash printf error when printing certain hexa values: Input/output error
I'm using the command printf of bash on Ubuntu under WSL.
I'm trying to use this documented syntax
\xHH byte with hexadecimal value HH (1 to 2 digits)
This works for printf "\x0A" (...
4
votes
2
answers
3k
views
Printf formatting a ZSH variable without forking?
For my powerlevel10k custom prompt, I currently have this function to display the seconds since the epoch, comma separated. I display it under the current time so I always have a cue to remember ...
-1
votes
1
answer
965
views
AWK command ignores adding newline ending "\n" for blank line and print in one single line
When I use the below command, it adds \n to all the lines but skips for a blank line.
awk 'NF {sub(/\r/, ""); printf "%s\\n",$0;}'
Example:
Input:
George Washington, 1789-1797
...
-1
votes
4
answers
2k
views
Easy way to output a file and change the implicit newlines ($) in the file into literal (\n)
I have a file with a number of invisible Newlines. In Vim it's shown as $ (can be seen with :set list). I had a hard time to convert them to an output which is represented as a one line string with ...
0
votes
3
answers
464
views
Set printf dynamic format for trailing whitespaces
Any standard way to make the '%-6s' format for printf dynamic?
function justify
{
echo "$(printf '%-6s' $1)"
}
I tried inserting variable into the format but I'm getting Error processing ...
0
votes
2
answers
345
views
Should echo be aliased to printf?
I'm not quite versed on the terminal, but the few things I've known and read lead me to believe that printf is much more powerful and confortable than echo but work for similar (if not same) purposes. ...
0
votes
2
answers
233
views
Average of lines with different conditions at header and tail of files
Edit: edited it for clarity and made the example files minimal and more reproducible for easier help. Thanks!
I have files that gave 1000+lines. Each file is formatted with the same amount of lines. ...
0
votes
2
answers
188
views
generate a report of sales with awk
I trying to create a report of sales for each store using an awk script. The dataset is in csv format and there are 45 stores. Example of the data is something like this:
Store,Store_name,Date,Year,...
0
votes
4
answers
721
views
How can I output a txt file, that has part of filename followed by path of file for all files in a folder, one line per file?
I have the following files
/folder/abc1.txt.gz
/folder/abc2.txt.gz
/folder/abc3.txt.gz
I would like to make a txt file with the following
abc1 /folder/abc1.txt.gz
abc2 /folder/abc2.txt.gz
abc3 /...
0
votes
1
answer
92
views
When storing text on a USB drive, how do I make cat not hang?
Warning: I used these commands on a drive that had nothing on it (/dev/sdb). Do not attempt this on a drive with anything important on it.
I was experimenting some, and I discovered that the ...
1
vote
2
answers
436
views
shortcut command for printf with a specific format string
I want to use a shortcut command for printf with a specific format string, and came up with the following.
local PF="printf %s\n"
$PF "Some Text"
It does the job, but wonder if ...
0
votes
5
answers
191
views
How can I separate numbers formatted as string (without space) into numbers with spaces based on the number of digits after decimal
I have a text file from a simulation where the numbers are without any spaces between them. An example is given below. I want to separate the numbers based on the decimal point number (13).
5....