Sponsored Content
Top Forums Shell Programming and Scripting [BASH] Lining ascii boxes up next to each other Post 302731111 by drl on Wednesday 14th of November 2012 09:26:23 AM
Old 11-14-2012
Hi.

Using an array:
Code:
#!/usr/bin/env bash

# @(#) s2	Demonstrate arrays and printing on one line.

# Utility functions: print-as-echo, print-line-with-visual-space, debug.
# export PATH="/usr/local/bin:/usr/bin:/bin"
pe() { for _i;do printf "%s" "$_i";done; printf "\n"; }
pl() { pe;pe "-----" ;pe "$*"; }
db() { : ; }
db() { ( printf " db, ";for _i;do printf "%s" "$_i";done;printf "\n" ) >&2 ; }
C=$HOME/bin/context && [ -f $C ] && $C

# Create boxes.

binary=1011
let len=${#binary}
declare -a g
i=0

# Stuff all items into an array.
for ((j=0; j < len; j++))
do
  g[$i]=$(echo  "+-----+")
  (( i++ ))
  g[$i]=$(echo  "|  ${binary:j:1}  |")
  (( i++ ))
  g[$i]=$(echo  "+-----+")
  (( i++ ))
done

# Provide debugging print.
db "${g[*]}"
pl " Debug, ${#g[*]} elements of g:"
for (( i=0; i<${#g[*]}; i++ ))
do
  pe "$i: ${g[$i]}"
done

# Print box objects on a line.
pl " Results, size of g is ${#g[*]}:"
for (( j=0; j<3; j++ ))
do
  for (( i=$j; i<${#g[*]}; i+=3 ))
  do
    printf "%s" "${g[$i]}  "
  done
  printf "\n"
done

exit 0

producing:
Code:
% ./s2

Environment: LC_ALL = C, LANG = C
(Versions displayed with local utility "version")
OS, ker|rel, machine: Linux, 2.6.26-2-amd64, x86_64
Distribution        : Debian GNU/Linux 5.0.8 (lenny) 
bash GNU bash 3.2.39
 db, +-----+ |  1  | +-----+ +-----+ |  0  | +-----+ +-----+ |  1  | +-----+ +-----+ |  1  | +-----+

-----
 Debug, 12 elements of g:
0: +-----+
1: |  1  |
2: +-----+
3: +-----+
4: |  0  |
5: +-----+
6: +-----+
7: |  1  |
8: +-----+
9: +-----+
10: |  1  |
11: +-----+

-----
 Results, size of g is 12:
+-----+  +-----+  +-----+  +-----+  
|  1  |  |  0  |  |  1  |  |  1  |  
+-----+  +-----+  +-----+  +-----+

See man bash for details.

Best wishes ... cheers, drl
This User Gave Thanks to drl For This Post:
 

10 More Discussions You Might Find Interesting

1. Programming

text boxes, radio buttons , check boxes in c++ on unix

Hi ! Please tell me how to get radio buttons, text boxes , check boxes , option buttons , pull down menus in C++ on Unix. I think it would be done using curses.h ..but that's all i know. TIA, Devyani. (3 Replies)
Discussion started by: devy8
3 Replies

2. HP-UX

HP-UX boxes - am I mad?

Greetings, and thanks for having such an interesting forum! I currently have 3 Intel boxes running 2000, and two HP boxes running HP-UX 10.20. I am very inexperienced with the Unix/Linux world. I have several problems, mainly in getting them all networked together. I am constrained to keep a... (3 Replies)
Discussion started by: Menace
3 Replies

3. Shell Programming and Scripting

lining up columns of data

Hi, I have two files containing clumns of data and now I'd like to merge them into one. File one, 1.dat, contains 7 data columns and file two, 2.dat, contains 6 data columns I need a third file, 3.dat, containing on the first 7 columns the data of file 1.dat and on the 8th, 9th etc the 6... (2 Replies)
Discussion started by: pau
2 Replies

4. UNIX for Advanced & Expert Users

Processing extended ascii character file names in UNIX (BASH scipts)

Hi, I have a accentuated letter (ö) in a script for an Installer. It's a file name. This is not working and I'm told to try using the octal value for the extended ascii character. Does anyone no how to do this? If I had the word "filförval", can I just put in the value between the letters, like... (9 Replies)
Discussion started by: peli
9 Replies

5. Shell Programming and Scripting

convert ascii values into ascii characters

Hi gurus, I have a file in unix with ascii values. I need to convert all the ascii values in the file to ascii characters. File contains nearly 20000 records with ascii values. (10 Replies)
Discussion started by: sandeeppvk
10 Replies

6. Shell Programming and Scripting

Preserve extented ascii character when run echo comand inside bash script

Hi everyone, I'm echo some text with extended ascii characters as below: echo -e "Pr\xE9sentation du spectacle" > output or echo -e "Présentation du spectacle" > outputIf I open the file created I see this text Présentation du spectacleThe text is shown correctly in this created file when... (7 Replies)
Discussion started by: Ophiuchus
7 Replies

7. Shell Programming and Scripting

bash ascii

hi guys In my bash script I need to use ascii characters such as SYN(22) and US(31). How do I echo them? (3 Replies)
Discussion started by: vlm
3 Replies

8. Shell Programming and Scripting

Bash - binary data to ascii code

Hello, With bash-script (ubunto server) I'm trying to read a binary file and, for each character, give back its ascii code (including extended ascii). For example: HEX => ASCII => PRINT f5 => 245 => ő 50 => 80 => P To load the binary file into a variable I tried in this way: ... (2 Replies)
Discussion started by: math4
2 Replies

9. Shell Programming and Scripting

Convert Hex to Ascii in a Ascii file

Hi All, I have an ascii file in which few columns are having hex values which i need to convert into ascii. Kindly suggest me what command can be used in unix shell scripting? Thanks in Advance (2 Replies)
Discussion started by: HemaV
2 Replies

10. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies
nice(2) 							   System Calls 							   nice(2)

NAME
nice - change priority of a process SYNOPSIS
#include <unistd.h> int nice(int incr); DESCRIPTION
The nice() function allows a process to change its priority. The invoking process must be in a scheduling class that supports the nice(). The nice() function adds the value of incr to the nice value of the calling process. A process's nice value is a non-negative number for which a greater positive value results in lower CPU priority. A maximum nice value of (2 * NZERO) -1 and a minimum nice value of 0 are imposed by the system. NZERO is defined in <limits.h> with a default value of 20. Requests for values above or below these limits result in the nice value being set to the corresponding limit. A nice value of 40 is treated as 39. Calling the nice() function has no effect on the priority of processes or threads with policy SCHED_FIFO or SCHED_RR. Only a process with the {PRIV_PROC_PRIOCNTL} privilege can lower the nice value. RETURN VALUES
Upon successful completion, nice() returns the new nice value minus NZERO. Otherwise, -1 is returned, the process's nice value is not changed, and errno is set to indicate the error. ERRORS
The nice() function will fail if: EINVAL The nice() function is called by a process in a scheduling class other than time-sharing or fixed-priority. EPERM The incr argument is negative or greater than 40 and the {PRIV_PROC_PRIOCNTL} privilege is not asserted in the effective set of the calling process. USAGE
The priocntl(2) function is a more general interface to scheduler functions. Since -1 is a permissible return value in a successful situation, an application wishing to check for error situations should set errno to 0, then call nice(), and if it returns -1, check to see if errno is non-zero. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Standard | +-----------------------------+-----------------------------+ |MT-Level |Async-Signal-Safe | +-----------------------------+-----------------------------+ SEE ALSO
nice(1), exec(2), priocntl(2), getpriority(3C), attributes(5), privileges(5), standards(5) SunOS 5.11 1 Apr 2004 nice(2)
All times are GMT -4. The time now is 04:07 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy