c8y(1)

πŸ“¦ version 2.56.1, in nixpkgs unstable

πŸ’… c8y(1) β€” the c8y manual, bestie edition πŸŽ€

okay so this is the manual page for c8y (yes, that c8y, the Cumulocity CLI, section 1 of the manual, hi bestie 🫢). we're specifically talking about c8y-util-repeatfile today and honestly? it's giving "small command, big main character energy". sit down, grab a strawberry πŸ“, let's go.


✨ NAME ✨

c8y-util-repeatfile β€” literally just repeats file contents. that's the whole vibe. no cap.


🌸 SYNOPSIS 🌸

c8y util repeatfile  [...FILE] [flags]

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so this is a generic little utility that repeats each line in a list of files. simple queen behavior πŸ‘‘

the way it works: the command reads the list of files and iterates through each one, printing out each line once. then it does that whole process over again N times (and N is whatever you set with the --times flag, iykyk).

the processing order, spelled out so nobody gets confused:

=> File 1: Print lines 1 -> last
=> File 2: Print lines 1 -> last
=> File M: Print lines 1 -> last
=> Repeat process X times

like, file by file, line by line, then loop the whole thing. periodt πŸ’…


πŸ’– OPTIONS πŸ’–

  • --first=0 β€” only include the first x lines. and 0 means all lines, bestie, so don't panic 🌸
  • --format="%s" β€” format string that gets applied to each input line. cute little makeover for your text ✨
  • -h, --help[=false] β€” help for repeatfile. your classic "what does this do again" moment πŸŽ€
  • --infinite[=false] β€” repeat forever. and when we say forever we mean it β€” you will need to Ctrl+C it to stop it 😭
  • --max=1 β€” max number of (randomized) times to repeat the input (inclusive). 0 = no output, so like, don't do that πŸ’€
  • --min=1 β€” min number of (randomized) times to repeat the input (inclusive)
  • --randomDelayMax="0ms" β€” random maximum delay after each request, i.e. 5ms, 1.2s. it must be larger than randomDelayMin. 0 = disabled
  • --randomDelayMin="0ms" β€” random minimum delay after each request, i.e. 5ms, 1.2s. it must be less than randomDelayMax. 0 = disabled
  • --randomSkip=-1 β€” randomly skip lines based on a percentage, probability as a float: 0 to 1, where 1 = always skip, 0 = never skip, and -1 = disabled πŸ™ˆ
  • --times=1 β€” number of times to repeat the input. the classic "do it again" button πŸ”₯

πŸ‘‘ OPTIONS INHERITED FROM PARENT COMMANDS πŸ‘‘

these are the hand-me-downs, the family heirlooms, the ones that come from the parent command and are lowkey iconic:

  • --abortOnErrors=10 β€” abort batch when reaching specified number of errors
  • --allowEmptyPipe[=false] β€” don't fail when piped input is empty (stdin)
  • --cache[=false] β€” enable cached responses
  • --cacheBodyPaths=[] β€” cache should limit hashing of selected paths in the json body. empty indicates all values
  • --cacheTTL="60s" β€” cache time-to-live (TTL) as a duration, i.e. 60s, 2m
  • -c, --compact[=false] β€” compact instead of pretty-printed output when using json output. pretty print is the default if output is the terminal
  • --confirm[=false] β€” prompt for confirmation
  • --confirmText="" β€” custom confirmation text
  • --currentPage=0 β€” current page which should be returned
  • --customQueryParam=[] β€” add custom URL query parameters. i.e. --customQueryParam 'withCustomOption=true,myOtherOption=myvalue'
  • --debug[=false] β€” set very verbose log messages
  • --delay="0ms" β€” delay after each request, i.e. 5ms, 1.2s
  • --delayBefore="0ms" β€” delay before each request, i.e. 5ms, 1.2s
  • --dry[=false] β€” dry run. don't send any data to the server
  • --dryFormat="markdown" β€” dry run output format. i.e. json, dump, markdown or curl
  • --examples[=false] β€” show examples for the current command
  • --filter=[] β€” apply a client side filter to response before returning it to the user
  • --flatten[=false] β€” flatten json output by replacing nested json properties with properties where their names are represented by dot notation
  • -f, --force[=false] β€” do not prompt for confirmation. ignored when using --confirm
  • -H, --header=[] β€” custom headers. i.e. --header "Accept: value, AnotherHeader: myvalue"
  • --includeAll[=false] β€” include all results by iterating through each page
  • -k, --insecure[=false] β€” allow insecure server connections when using SSL
  • -l, --logMessage="" β€” add custom message to the activity log
  • --maxJobs=0 β€” maximum number of jobs. 0 = unlimited (use with caution!) ⚠️
  • --noAccept[=false] β€” ignore Accept header will remove the Accept header from requests, however PUT and POST requests will only see the effect
  • --noCache[=false] β€” force disabling of cached responses (overwrites cache setting)
  • -M, --noColor[=false] β€” don't use colors when displaying log entries on the console
  • --noLog[=false] β€” disables the activity log for the current command
  • --noProgress[=false] β€” disable progress bars
  • --noProxy[=false] β€” ignore the proxy settings
  • -n, --nullInput[=false] β€” don't read the input (stdin). useful if using in shell for/while loops
  • -o, --output="table" β€” output format i.e. table, json, csv, csvheader
  • --outputFile="" β€” save JSON output to file (after select/view)
  • --outputFileRaw="" β€” save raw response to file (before select/view)
  • --outputTemplate="" β€” jsonnet template to apply to the output
  • -p, --pageSize=5 β€” maximum results per page
  • --progress[=false] β€” show progress bar. this will also disable any other verbose output
  • --proxy="" β€” proxy setting, i.e. http://10.0.0.1:8080
  • -r, --raw[=false] β€” show raw response. this mode will force output=json and view=off
  • --retries=3 β€” max number of attempts when a failed http call is encountered
  • --select=[] β€” comma separated list of properties to return. wildcards and globstar accepted, i.e. --select 'id,name,type,**.serialNumber'
  • --session="" β€” session configuration
  • --sessionMode="" β€” override default session mode for a single command which would normally be disabled
  • -P, --sessionPassword="" β€” override session password
  • -U, --sessionUsername="" β€” override session username. i.e. peter or t1234/peter (with tenant)
  • --silentExit[=false] β€” silent status codes do not affect the exit code
  • --silentStatusCodes="" β€” status codes which will not print out an error message
  • --timeout="600s" β€” request timeout duration, i.e. 60s, 2m
  • --totalPages=0 β€” total number of pages to get
  • -v, --verbose[=false] β€” verbose logging
  • --view="auto" β€” use views when displaying data on the terminal. disable using --view off
  • --withError[=false] β€” errors will be printed on stdout instead of stderr
  • --withTotalElements[=false] β€” request Cumulocity to include the total elements in the response statistics under .statistics.totalElements (introduced in 10.13)
  • -t, --withTotalPages[=false] β€” request Cumulocity to include the total pages in the response statistics under .statistics.totalPages
  • --workers=1 β€” number of workers

🧚 EXAMPLE 🧚

okay these examples eat, honestly. study them:

$ c8y util repeatfile myfile.txt
Repeat each line of the file contents
$ c8y util repeatfile myfile.txt --times 2
Loop over the file twice. The file contents will be printed from first list to last line, then read again.
$ c8y util repeatfile myfile.txt --infinite --delay 500ms
Loop over the file contents forever and delaying 500ms after each line is printed
$ c8y util repeatfile *.list --randomSkip 0.5
Loop over the files matching the "*.list" in the current directory (uses shell expansion), but randomly
skip lines at a probability of 50 percent.

🌈 SEE ALSO 🌈

c8y-util(1) β€” go read that one next, bestie, it's the whole family 🫢


aaaand that's the page! ✨ this one's brought to you by c8y(1) and dated Jan 1980 (yes, truly, that's the date on it β€” vintage icon behavior πŸ‘‘πŸŽ€). mwah, go repeat some files πŸ’…πŸ’–

πŸ“¦ where this page comes from