The aim is to to draw a line across a terminal using only zsh builtins.
Note that a similar question has been asked already about bash. This one is specific to zsh.
This code
print -- ${(l:COLUMNS::─:)}
Prints this line
──────────────────────────────────────────────────────────────
Note: The character (─) is a box drawing character, not a hyphen. Also, COLUMNS is a zsh parameter whose value is the width of the terminal. You could replace that with a specific width, e.g., 80.
Related
I use gnome terminal / Bash on Ubuntu 18.04 (the default one).
When I get some command outputs with several long lines after each other, my eye has difficulty to follow which line some later column belong to.
One good solution to avoid this problem is to use a line-based background color pattern, for example I would do the following in LibreOffice
Is there a way to get something similar in Bash? I.e. to get on bash a user-parametrizable alternating background color on a line basis? I looked for it quite extensively but did not find any resources so far.
Edit 1
Opened an issue there asking for feature: https://gitlab.gnome.org/GNOME/gnome-terminal/issues/175
I'm using the output of the excellent package icdiff (https://github.com/jeffkaufman/icdiff) to check for differences between updated iterations of files. I'd like to parse out just the significant differences though. From the package --help I can't see any in-built options (and for full disclosure I've 'cross posted' at the github issues page to see if it can be added or I've missed something).
This has got me wondering whether a hacky solution might be to parse out the lines by their colour, since they are also colour coded by 'severity of difference'. Is this at all possible in bash? (Alternative approaches are welcome too!)
Here's a sample of the output (I can only think to add a picture here since the markup wouldnt show colour). I'd like to get just the lines where the whole line is solid red/green for instance. Excuse some of the screen wrapping, my monitor isn't wide enough and the text is small enough already.
with GNU Grep, for example
grep -Po $'\e\[31m\K.*(?=\e\[\d+m)'
to extract text in red,
\K to keep the left outside match, like a lookbehind
(?=..) lookahead assertion 0 length match
you can grep on the ANSI escape sequences, e.g. (with 31 for red):
grep '^[\[31m' # make the escape character (^[) by typing ctrl+v ESC
but you need to make sure your output stays colored if it is not sent to a terminal : (many programs will make their output B&W when output is not a terminal. - you can check it with less, which will show you the escape sequences)
iTerm2 has a feature that can be used to display images in the terminal, see https://iterm2.com/documentation-images.html for documentation on the protocol.
I have been able to produce an image in the terminal by using the correct ASCII characters and encoding; this string (starts with ESC and ends with ^G)
]1337;File=inline=1:iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABQtJREFUeNrsVktoXVUUXefc7/vmpUmaNonWSsFYtBZEWhRKERxI60QF6UhBOhAVEXEmzjrVQbXgTBRFB4oTlSq1FEGEiggWlKpVjG0wn9fXvE/u75zjOucmaVIrWhBB6IX9eO9+9tpr7bX3fcIYg//yENcB/33As+PX9oStr8GPvsClJ0dG1AXviIiKSYyJ1+SucFEI3KqXknFZHxpH7n0sW9Xj8UPjEA0Jk2j41wBU5+ejaOnH0NChansLmMjugB+MeDs0REsclGEC4ZHFuEAxPwOVNYfjA5PH5UgAfSnnhX/KUOFZNPWLjFZxxkd6OoKeq0COePCaPkTsQZKaKgCtDALSyM9eBG65+WLlwelZ9Usn5A0xM7X9v5VPYD8m1Ut6VmD5/RrUuRpkVEFwk4RsSRbDsgvhqi9yTVCF0LOPSohMDZtePkyw1YxTPmR+ZVft3SGKMEOEOzFanEw/D5B+2oTwa4h3kVGF/cgJVjDIzDbG1hZ7BkZJELY8f9mQbcZeRubPZY2N6hkPkTGjm0Y7J1AV04N3qshPDyHcWYE/YRvvwRSk4Et4nge9klMbjbzQ8KQpi4ZYn3aYcR/jmP9Jd3KVmtPQaIV+rfnEnu789O435hfUr63Ryt0VWJ1MSiA2SHgEFhLLJBJaYD5qpUyJXvM9mwXrZFxN/irjqB/IjaYxYfyAbuoXsjeX5nC+IaJ9MaSxmnlQTOZZQMnvKwWSEiU08HhLg8gqZ4uMWIezdhxjvEdz1VFGlW0OH1/YfO9bO0/UsGfu583FvuqYVAGWEoEBAYM4RGYkUiaUBK/XAgQBGdl+ybKfQogVHLHOee44xfiMd1nT5BA6fbk7Wj+8+dv58/d8dRrYvQlKhTBkE0ZlYsGkmRbIGT4l7nKQ+xmHmeCSEs4spjynqLq8muffZfTXxqKIw0T01I37Tr4+FGxPkcQTkLS8Zq+qse8YMTea1cAx0dqacEVWUfJoWcYUW+niaoBzjC8doGCzl4Yrvds/PLt1S95HOjUBn89IslIETHODPFeoVUO62NCgJYNGxXPWL2gYwxytGn8XBkl21f18yEpqAR/JqsFv9Zn+/TvPsYgdQxxNgX5hZ0pjqBGUgBouuUfp+knuxqFe8Z073Xmy7A0K5FmOZmyXk7nSOEcYJ32+Lp7rN6O7bvvivGqpZaRDY24XWFdra3eCxmRaZxRORzt0Tk9Y5TxXh3bFkSacZ9cGfgNTO/h7pfLlN1E7w7bZRQ9bIyCBq74SCtQj4QC5ILHUzVg96y4KWCUbvC6UQq+fIUncEnWbxp7XtiD9J1mfsXR9ynl40/cdjA36UDfUWKmhJ4wDEsatdyY2iKxRCu12pKGKqbK95HgovcbEskzygm62U7oBkJscH9ldKgfV8FS8nCDUuZPQVtfp8TtNYte/pG5JkqHTTZicTPLMbmmolIyTFFUm5+Llqyh392v2VOelvG6fXl5tPzBm2HWzf9tPS0eNNE8hZPPZg0bAyr3CDbOdL9uvZcrXFNyVXjkSlbgkVth+uZk3rndxZLePRiapUOQtilpwDgsmWnk9dcSPbx/A9u/ajV7S+VqExQ52plz0q6LYfAQNCJQpg7/+R7JygTdwkvjCzWDioVeqD08/LbfEMINyNv3ts33o0WrX/J4/X1xoHyRMzmrW0ppyrt0rT7On7rcwV+xls3ECjHsuxuLgg/xMG/HUVLn+bDHX/yb+7wH/EGAARjZ2jNWjuZgAAAAASUVORK5CYII=
will produce this output:
however, when I attempt to display another image along side, this happens; string
]1337;File=inline=1:iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABQtJREFUeNrsVktoXVUUXefc7/vmpUmaNonWSsFYtBZEWhRKERxI60QF6UhBOhAVEXEmzjrVQbXgTBRFB4oTlSq1FEGEiggWlKpVjG0wn9fXvE/u75zjOucmaVIrWhBB6IX9eO9+9tpr7bX3fcIYg//yENcB/33As+PX9oStr8GPvsClJ0dG1AXviIiKSYyJ1+SucFEI3KqXknFZHxpH7n0sW9Xj8UPjEA0Jk2j41wBU5+ejaOnH0NChansLmMjugB+MeDs0REsclGEC4ZHFuEAxPwOVNYfjA5PH5UgAfSnnhX/KUOFZNPWLjFZxxkd6OoKeq0COePCaPkTsQZKaKgCtDALSyM9eBG65+WLlwelZ9Usn5A0xM7X9v5VPYD8m1Ut6VmD5/RrUuRpkVEFwk4RsSRbDsgvhqi9yTVCF0LOPSohMDZtePkyw1YxTPmR+ZVft3SGKMEOEOzFanEw/D5B+2oTwa4h3kVGF/cgJVjDIzDbG1hZ7BkZJELY8f9mQbcZeRubPZY2N6hkPkTGjm0Y7J1AV04N3qshPDyHcWYE/YRvvwRSk4Et4nge9klMbjbzQ8KQpi4ZYn3aYcR/jmP9Jd3KVmtPQaIV+rfnEnu789O435hfUr63Ryt0VWJ1MSiA2SHgEFhLLJBJaYD5qpUyJXvM9mwXrZFxN/irjqB/IjaYxYfyAbuoXsjeX5nC+IaJ9MaSxmnlQTOZZQMnvKwWSEiU08HhLg8gqZ4uMWIezdhxjvEdz1VFGlW0OH1/YfO9bO0/UsGfu583FvuqYVAGWEoEBAYM4RGYkUiaUBK/XAgQBGdl+ybKfQogVHLHOee44xfiMd1nT5BA6fbk7Wj+8+dv58/d8dRrYvQlKhTBkE0ZlYsGkmRbIGT4l7nKQ+xmHmeCSEs4spjynqLq8muffZfTXxqKIw0T01I37Tr4+FGxPkcQTkLS8Zq+qse8YMTea1cAx0dqacEVWUfJoWcYUW+niaoBzjC8doGCzl4Yrvds/PLt1S95HOjUBn89IslIETHODPFeoVUO62NCgJYNGxXPWL2gYwxytGn8XBkl21f18yEpqAR/JqsFv9Zn+/TvPsYgdQxxNgX5hZ0pjqBGUgBouuUfp+knuxqFe8Z073Xmy7A0K5FmOZmyXk7nSOEcYJ32+Lp7rN6O7bvvivGqpZaRDY24XWFdra3eCxmRaZxRORzt0Tk9Y5TxXh3bFkSacZ9cGfgNTO/h7pfLlN1E7w7bZRQ9bIyCBq74SCtQj4QC5ILHUzVg96y4KWCUbvC6UQq+fIUncEnWbxp7XtiD9J1mfsXR9ynl40/cdjA36UDfUWKmhJ4wDEsatdyY2iKxRCu12pKGKqbK95HgovcbEskzygm62U7oBkJscH9ldKgfV8FS8nCDUuZPQVtfp8TtNYte/pG5JkqHTTZicTPLMbmmolIyTFFUm5+Llqyh392v2VOelvG6fXl5tPzBm2HWzf9tPS0eNNE8hZPPZg0bAyr3CDbOdL9uvZcrXFNyVXjkSlbgkVth+uZk3rndxZLePRiapUOQtilpwDgsmWnk9dcSPbx/A9u/ajV7S+VqExQ52plz0q6LYfAQNCJQpg7/+R7JygTdwkvjCzWDioVeqD08/LbfEMINyNv3ts33o0WrX/J4/X1xoHyRMzmrW0ppyrt0rT7On7rcwV+xls3ECjHsuxuLgg/xMG/HUVLn+bDHX/yb+7wH/EGAARjZ2jNWjuZgAAAAASUVORK5CYII=]1337;File=inline=1:iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAARRJREFUeNpi/P//PwM9AeOohUPfwt83oiOANCcQ/6GxXSxA/B1k4SMgQxCI/9LYQmYgfg+yVZaOIcoDslAV6t1/NLaMCRRtIIvu0DPRgCz8Bk001ATvgFgA6itk8B1kYSgQs1Mp0fwEYikgngvEV4C4AYh/QD0GSjQ/QamUFiH3CYgXAXEOtnwIchUblA8qBR4AsRAQ89PAIb9AXt0NxLxA/BuIVYBYERq8B6E0EykFCTQI30CDUQyq/z+U/gwS9EHTBLI4BIg30iqVTgJibmhqheXJCUDsCXUxExXz4VdQHP7HkqSFaJkPGemd8ZWgND0Kb3DRdpfePrwMzXP0KLw/giwsgmZ8elj4a7QRNWohyQAgwAAQhlmNWgQOSgAAAABJRU5ErkJggg==]1337;File=inline=1:iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABTZJREFUeNrsVkuIXEUUPVX1fv2ZmZ6ZTMcxISZBowYJQYkGhYCKShARQRA/uJEgiuLClagbFy514QeXERRUVLIQV2oSiAt1wEQDTiAfY8xnJpnJTH/fr6o89bqTmU5A4iag2DO3q9+rV3XuPffcW09Ya3E1PxJX+fPfB/TyQ09BRBK2aRB/MQOz0HkAvt5uWoszcjiaYYp/M7+k4zhrn7WJd1Jdq18deW9uDhXmvikA8Q8B3ZftGshxH8GDo+h89OcTyms8Hd4wApvEsBowt/OZBYv8cA7Us0d1Yg+oVXoFlEyxIHdyiw8J3LoSQJFNP3mA4xiMjdXaWtr9cnoSh46O+htGkXF/qQQU3TIM1cYaupHDzGnIehfhlgTeLXyoIRdob0Dh7SuJcFMvmwK2lQGphmVqhZXIUhBMcR93Te8izpBKUzLIf6+g81kXaqqN0v3dmlyl38IZ9TMX7/k7mp1o1tI20OaLO64uhQBJRrnkI4p8WBei53zzgdwnqI9wM+c2VWH+GEfrg1Ek+zg/me9GgNu4mDunARQ9ltmAuV2O056njS5jmqFRSIwyp0mPJuQFIqA1Wci5q9KItgjkp4YR7/KhTy6i/FhnCh07PX+udm8ixCkl9GWU6svKw+1KACEUklwg4ihJrWbwXQIFdEAoQ0EpCiuHqmuUamUkU0zLeXtu/yMTN/1gJp6rtBuvC6l6AcBepPQ+2vsD0fVHS2qHyn6RRyP5qFJ98+gAqfU9WFItrVf8Du+MgKNDNv0knDXDY6/50fqHfLkSvqyjN64sAL+j7e2B2CVQ9y+KL7olC3DfV6gyfy7axAqkpNuPAjKo0IgFpPaRbytP3DF7rL7x2wrO1e/5WCJ4Rogyt6kW5gDbtE8vVZNP2posgxNzCfEENaPQTg3vGXiBQmYISBN0xjkShBQX6dM6ADaP4a6pn1D/9ezJ5orqDmESlgtFQ3OA39BmLwXUxiLkRjVGZPtBOwFbRmaol6GSh2HSnfF3KfKoaA+GeZeMOo5G4a9rYNvunWtES6/JoyBeXhYP0x6/FDCnQiqhJCDzR3BNsVQjRSBVZNnRremBopobXY0kY40yWo9OepRhsrqOa7J2+cbvj0w2RkstYexFlb5Ju3tQMJYJBs6zEfhkqFQOik6T57oQUKubF0IuB8wtN8q0A7OIuGixmcFtXiYTuH4EG4/O4tiJVdvTYX+PH+erXYSv0LYuxWb79e/6DfmylD+BJEcWAUzOVmZcg3VlQeM4XvUKMM3rQmP9KkhGSqjpLtYdnNnaHg73CWtflv2wXhrgkx4abjQUsAaVLQDiOEernUKw6N19MktHcrY/jUYzLZ5xgNWQc5wvGHSZmwxx3ek5Fc6n0J7c7wBX076mnV+qRJczgrCoXXS8YFKpMI46zdDtJDBstLZ/PxSmcKQAZa4dsFOYo1uPlTDRaWPs+CLSsr/D5fDE4PkhChoN5Ve87kjXygQC8qQoim6cFd77zJ97QHLvhU5eRBa4qB07BG3w3lBIH4gQmAxRN0anHOx1gD/Sau54EhU/EaFab6UZD0suMi523ote12E8CINeU3Cl4bqWE1NXZ6jywh1lmseK5JqhKhXsjpiAkVJQ1x1pvHtkq33RnYe9wMqsozP04vPpd0S8+IIcCVygvYgHFIzLCAkI5JTqyqffpIq0FHXr/lLvcDWq3Xrs5rGmd2GVYGfJDs6z43d28YipiFYeL6uSZaBLr5WuCThAF5WxvRkhBsTHGeGryZGvzIpyc93pNs/V/99L/+2AfwkwAIpSa6LlmvuQAAAAAElFTkSuQmCC
produces
The images are not inline.
How can I ensure consecutive images remain inline? I am able to repeat the result in zsh, and bash. I am on iTerm 2 Build 3.0.4.
Thanks!
There are two solutions:
1> Insert \b\33[1A at the beginning of the second and third image, change the count of \33[1A according to the height of image (in your case, it appears once). The meaning of escape sequences can be referenced here.
\e]1337;File=inline=1:iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABQtJREFUeNrsVktoXVUUXefc7/vmpUmaNonWSsFYtBZEWhRKERxI60QF6UhBOhAVEXEmzjrVQbXgTBRFB4oTlSq1FEGEiggWlKpVjG0wn9fXvE/u75zjOucmaVIrWhBB6IX9eO9+9tpr7bX3fcIYg//yENcB/33As+PX9oStr8GPvsClJ0dG1AXviIiKSYyJ1+SucFEI3KqXknFZHxpH7n0sW9Xj8UPjEA0Jk2j41wBU5+ejaOnH0NChansLmMjugB+MeDs0REsclGEC4ZHFuEAxPwOVNYfjA5PH5UgAfSnnhX/KUOFZNPWLjFZxxkd6OoKeq0COePCaPkTsQZKaKgCtDALSyM9eBG65+WLlwelZ9Usn5A0xM7X9v5VPYD8m1Ut6VmD5/RrUuRpkVEFwk4RsSRbDsgvhqi9yTVCF0LOPSohMDZtePkyw1YxTPmR+ZVft3SGKMEOEOzFanEw/D5B+2oTwa4h3kVGF/cgJVjDIzDbG1hZ7BkZJELY8f9mQbcZeRubPZY2N6hkPkTGjm0Y7J1AV04N3qshPDyHcWYE/YRvvwRSk4Et4nge9klMbjbzQ8KQpi4ZYn3aYcR/jmP9Jd3KVmtPQaIV+rfnEnu789O435hfUr63Ryt0VWJ1MSiA2SHgEFhLLJBJaYD5qpUyJXvM9mwXrZFxN/irjqB/IjaYxYfyAbuoXsjeX5nC+IaJ9MaSxmnlQTOZZQMnvKwWSEiU08HhLg8gqZ4uMWIezdhxjvEdz1VFGlW0OH1/YfO9bO0/UsGfu583FvuqYVAGWEoEBAYM4RGYkUiaUBK/XAgQBGdl+ybKfQogVHLHOee44xfiMd1nT5BA6fbk7Wj+8+dv58/d8dRrYvQlKhTBkE0ZlYsGkmRbIGT4l7nKQ+xmHmeCSEs4spjynqLq8muffZfTXxqKIw0T01I37Tr4+FGxPkcQTkLS8Zq+qse8YMTea1cAx0dqacEVWUfJoWcYUW+niaoBzjC8doGCzl4Yrvds/PLt1S95HOjUBn89IslIETHODPFeoVUO62NCgJYNGxXPWL2gYwxytGn8XBkl21f18yEpqAR/JqsFv9Zn+/TvPsYgdQxxNgX5hZ0pjqBGUgBouuUfp+knuxqFe8Z073Xmy7A0K5FmOZmyXk7nSOEcYJ32+Lp7rN6O7bvvivGqpZaRDY24XWFdra3eCxmRaZxRORzt0Tk9Y5TxXh3bFkSacZ9cGfgNTO/h7pfLlN1E7w7bZRQ9bIyCBq74SCtQj4QC5ILHUzVg96y4KWCUbvC6UQq+fIUncEnWbxp7XtiD9J1mfsXR9ynl40/cdjA36UDfUWKmhJ4wDEsatdyY2iKxRCu12pKGKqbK95HgovcbEskzygm62U7oBkJscH9ldKgfV8FS8nCDUuZPQVtfp8TtNYte/pG5JkqHTTZicTPLMbmmolIyTFFUm5+Llqyh392v2VOelvG6fXl5tPzBm2HWzf9tPS0eNNE8hZPPZg0bAyr3CDbOdL9uvZcrXFNyVXjkSlbgkVth+uZk3rndxZLePRiapUOQtilpwDgsmWnk9dcSPbx/A9u/ajV7S+VqExQ52plz0q6LYfAQNCJQpg7/+R7JygTdwkvjCzWDioVeqD08/LbfEMINyNv3ts33o0WrX/J4/X1xoHyRMzmrW0ppyrt0rT7On7rcwV+xls3ECjHsuxuLgg/xMG/HUVLn+bDHX/yb+7wH/EGAARjZ2jNWjuZgAAAAASUVORK5CYII=\a\b\33[1A\e]1337;File=inline=1:iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAARRJREFUeNpi/P//PwM9AeOohUPfwt83oiOANCcQ/6GxXSxA/B1k4SMgQxCI/9LYQmYgfg+yVZaOIcoDslAV6t1/NLaMCRRtIIvu0DPRgCz8Bk001ATvgFgA6itk8B1kYSgQs1Mp0fwEYikgngvEV4C4AYh/QD0GSjQ/QamUFiH3CYgXAXEOtnwIchUblA8qBR4AsRAQ89PAIb9AXt0NxLxA/BuIVYBYERq8B6E0EykFCTQI30CDUQyq/z+U/gwS9EHTBLI4BIg30iqVTgJibmhqheXJCUDsCXUxExXz4VdQHP7HkqSFaJkPGemd8ZWgND0Kb3DRdpfePrwMzXP0KLw/giwsgmZ8elj4a7QRNWohyQAgwAAQhlmNWgQOSgAAAABJRU5ErkJggg==\a\b\33[1A\e]1337;File=inline=1:iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABTZJREFUeNrsVkuIXEUUPVX1fv2ZmZ6ZTMcxISZBowYJQYkGhYCKShARQRA/uJEgiuLClagbFy514QeXERRUVLIQV2oSiAt1wEQDTiAfY8xnJpnJTH/fr6o89bqTmU5A4iag2DO3q9+rV3XuPffcW09Ya3E1PxJX+fPfB/TyQ09BRBK2aRB/MQOz0HkAvt5uWoszcjiaYYp/M7+k4zhrn7WJd1Jdq18deW9uDhXmvikA8Q8B3ZftGshxH8GDo+h89OcTyms8Hd4wApvEsBowt/OZBYv8cA7Us0d1Yg+oVXoFlEyxIHdyiw8J3LoSQJFNP3mA4xiMjdXaWtr9cnoSh46O+htGkXF/qQQU3TIM1cYaupHDzGnIehfhlgTeLXyoIRdob0Dh7SuJcFMvmwK2lQGphmVqhZXIUhBMcR93Te8izpBKUzLIf6+g81kXaqqN0v3dmlyl38IZ9TMX7/k7mp1o1tI20OaLO64uhQBJRrnkI4p8WBei53zzgdwnqI9wM+c2VWH+GEfrg1Ek+zg/me9GgNu4mDunARQ9ltmAuV2O056njS5jmqFRSIwyp0mPJuQFIqA1Wci5q9KItgjkp4YR7/KhTy6i/FhnCh07PX+udm8ixCkl9GWU6svKw+1KACEUklwg4ihJrWbwXQIFdEAoQ0EpCiuHqmuUamUkU0zLeXtu/yMTN/1gJp6rtBuvC6l6AcBepPQ+2vsD0fVHS2qHyn6RRyP5qFJ98+gAqfU9WFItrVf8Du+MgKNDNv0knDXDY6/50fqHfLkSvqyjN64sAL+j7e2B2CVQ9y+KL7olC3DfV6gyfy7axAqkpNuPAjKo0IgFpPaRbytP3DF7rL7x2wrO1e/5WCJ4Rogyt6kW5gDbtE8vVZNP2posgxNzCfEENaPQTg3vGXiBQmYISBN0xjkShBQX6dM6ADaP4a6pn1D/9ezJ5orqDmESlgtFQ3OA39BmLwXUxiLkRjVGZPtBOwFbRmaol6GSh2HSnfF3KfKoaA+GeZeMOo5G4a9rYNvunWtES6/JoyBeXhYP0x6/FDCnQiqhJCDzR3BNsVQjRSBVZNnRremBopobXY0kY40yWo9OepRhsrqOa7J2+cbvj0w2RkstYexFlb5Ju3tQMJYJBs6zEfhkqFQOik6T57oQUKubF0IuB8wtN8q0A7OIuGixmcFtXiYTuH4EG4/O4tiJVdvTYX+PH+erXYSv0LYuxWb79e/6DfmylD+BJEcWAUzOVmZcg3VlQeM4XvUKMM3rQmP9KkhGSqjpLtYdnNnaHg73CWtflv2wXhrgkx4abjQUsAaVLQDiOEernUKw6N19MktHcrY/jUYzLZ5xgNWQc5wvGHSZmwxx3ek5Fc6n0J7c7wBX076mnV+qRJczgrCoXXS8YFKpMI46zdDtJDBstLZ/PxSmcKQAZa4dsFOYo1uPlTDRaWPs+CLSsr/D5fDE4PkhChoN5Ve87kjXygQC8qQoim6cFd77zJ97QHLvhU5eRBa4qB07BG3w3lBIH4gQmAxRN0anHOx1gD/Sau54EhU/EaFab6UZD0suMi523ote12E8CINeU3Cl4bqWE1NXZ6jywh1lmseK5JqhKhXsjpiAkVJQ1x1pvHtkq33RnYe9wMqsozP04vPpd0S8+IIcCVygvYgHFIzLCAkI5JTqyqffpIq0FHXr/lLvcDWq3Xrs5rGmd2GVYGfJDs6z43d28YipiFYeL6uSZaBLr5WuCThAF5WxvRkhBsTHGeGryZGvzIpyc93pNs/V/99L/+2AfwkwAIpSa6LlmvuQAAAAAElFTkSuQmCC\a
The text I pasted above is the content of file /tmp/three
2> Merge the images use ImageMagick, which you can reference here.
Please let me know if these two solutions can't solve your problem properly.
Is there any way to change the size of the text in shell script ?
I mean dynamically during the execution .
For example I have an image drawn with ASCII code and i want to reduce the size of text .
Now when echo or cat the image it will be shown as the command prompt actual size (the actual font size) .
A couple of comments note that font size/style are under the control of the terminal emulator, and that xterm (and a few others) support escape sequences to change these.
However - almost all terminal emulators (all that you would be likely to encounter) rely upon keeping the characters in a nice row/column grid. All of the characters have the "same" size. If you change the size of the font in xterm, all of the characters on the screen change to the same size. So there is no way to (as OP asks) to reduce the font-size temporarily, e.g., while using ASCII graphics to draw a picture using aalib, etc.
If you want to do something like that, the easiest way to do it is to have the script run its graphics in a separate window, e.g., by splitting it up into one part that starts the window and another script to draw the graphics.
For an alternate via of terminals and fonts, there is always something like 9term (no rows, no columns, no vi).
Is it possible to change Clang's choice of colors for their colorized diagnostics?
I like my terminal to have a black background, but I just noticed that I was missing Clang's helpful diagnostic messages. I'm aware of the the -fno-color-diagnostics compiler option but I would prefer to have the colors, just different colors. Any solutions?
I'm using a bash shell in OSX. Thanks.
It looks like the colors are hard-coded near the beginning of this file (include file). You can edit the file and recompile the program, write and submit a feature that accepts color settings at the command line, in an environment variable or from a file, or non-portably try to substitute the colors on the fly.
Here is an example of the latter:
clang ... | sed 's/\o33\[30m/\o33[37m/g'
That changes black to white for XTerm escape sequences. Some other sequence would need to be used for other terminal types.