I've been using Cygwin for some time now and it seems to do the job. It was very easy to install and I could choose from many different packages to install like vim, wget, etc.
Get that Linux feeling - on Windows
Cygwin is a Unix-like environment and command-line interface for
Microsoft Windows. Cygwin provides native integration of Windows-based
It combines ConEmu, a Windows console emulator augmented with bash-like capabilities by Clink and msysgit. Some notable features include:
Bash shell, through msysGit
GNU C Compiler & GNU Make
In-built SSH agent
Aliases (with the same syntax as bash)
Paste from keyboard with CTRLV
If you're looking for a package ...
Cygwin, already listed is a good solution.
However, there is another alternative: MSYS.
MSYS is much lighter weight than Cygwin, however it might not have everything you need. Obviously, you will have to evaluate that yourself. It definitely does meet all 5 of your bullet points. It's free, is has a Bash shell, you can interact with your current ...
I'm surprised nobody mentioned Babun, "a windows shell you will love". It's a preconfigured Cygwin that "just works", generally quite awesome out of the box.
For a long time I used Git Bash (prettified with Console2), but I felt it quite lacking. I wanted more, but I was quite intimidated by Cygwin: I was afraid, perhaps ...
Windows 10, with the 2016 anniversary update, now provides a Bash Linux binary running on Windows itself. It can be accessed through any command prompt and can run UNIX-style commands (like ls) as it would with any other command. For more information about this, read the MSDN posts on the Windows Subsystem for Linux page.
What I use is a combination of Git Bash, which comes when you install Git, and ConEmu. Git Bash uses MinGW, and ConEmu provides the option to have multiple tabs and good colour schemes, the option to have a full screen terminal, and more.
MSYS2 is a fork of Cygwin created with the intention of being an updated environment to support building with MinGW. (That is, it's meant to serve as a better maintained alternative to the ever more out of date MSYS. See here for some details.) It functions well as a bash shell with Linux tools on a Windows machine.
bash is the default ...
Gratis: yes. It has Personal and Professional Edition. The professional edition mostly just adds a support contract and deployment tools AFAICT). You can use the personal edition at your workplace
Uses Bash: Yes. I am using MobaXTerm 8.6 and that is using Bash 4.1.17(0)-release. Newer versions of MobaXTerm may user new Bash
Not an emulator: Yes, ...
As of 2015 and Python 3.4's release, there's now a reasonably complete user-interactive shell available at: http://xon.sh/
The demonstration video does not show pipes being used, but they ARE supported when in the default shell mode.
Xonsh ('conch') tries very hard to emulate bash, so things you've already gained muscle memory for, like
env | uniq | sort ...
I released Cyclomatic Complexity Analyzer for shell script.
ShellMetrics - Cyclomatic Complexity Analyzer for shell script
It measure NLOC (Non-comment Line of Code), LLOC (Logical Lines of Code) and CCN (Cyclomatic Complexity number) of shell scripts including bash.
Here are sample of coverage report.
[2 months and no responses. I'm providing a commercial answer since
no other answers seem forthcoming.]
Our Source Code Search Engine (SCSE) is used to search large repositories containing many (arguably dozens) languages for interesting code idioms. It is fast because it indexes the code base according to the lexical syntax of each of the languages; ...
I wrote a little script to make live logs (heroku logs -t) sorted.
You can run with:
heroku logs -t | python delayed_sort.py
If you want to keep the coloring:
script -q -c "heroku logs -t" -a /dev/null | python delayed_sort.py
The script simply holds a buffer of the last 100 log lines. When the buffer gets full the line ...
You could try this:
heroku logs > heroku.txt
sort -n -t\ -k1 heroku.txt
The -n is sorting numbers in order, -t\ bit is using a space as a separator, -k1 is using column one (the timestamp).
Without putting the logs in a separate file I assume you could use:
heroku logs | sort -n -t\ -k1
Similarly, to sort in reverse order (-nr):
heroku logs | sort ...
MultiCommander offers custom actions.
Customizable keyboard shortcuts
Customizable mouse actions
Plug In extensions
One of the options for custom commands is to run a batch file.
You could try RawDog which is a Python 2.7 based command like RSS feed aggregator specifically designed to be run from cron.
cross platform, free & open source.
supports templating & customisation
has lots of plug-in components
Vagrant seems like the perfect choice for your needs.
Vagrant supports numerous cloud providers and local virtualization technologies. Built-in support exists for "VirtualBox, Hyper-V, and Docker". There is a plugin architecture which has allowed a diverse set of folks to build support for cloud providers. Plugins and ...
Try Visual Studio Code with the Bash Debug extension
I have used it just once or twice yet, so I can't say much about how well it works, but it ticks all your boxes.
Shows used variables in the side pane
Highlights currently executed line
Runs on Mac and Linux
You could use PGP/gpg:
gpg --output file.gpg --encrypt --recipient email@example.com file
gpg --output file --decrypt file.gpg
Before you can do that, you need to create a key pair and import it to your keyring. See the manual on how to do it: https://www.gnupg.org/gph/en/manual/book1.html
The python Natural Language Tool Kit nltk is probably your best bet here. There are examples of the sort of thing that you are trying to do in the online book such as the unusual words example.
There is plenty of support for counting occurences
I would suggest that you use case insensitive checks for removing the "common" words before counting case ...
I suggest to look at this. I have not used it myself, but I will the next time I need to do things like this:
RQ (Redis Queue) is a simple Python library for queueing jobs and processing them in the background with workers. It is backed by Redis and it is designed to have a low barrier to entry. It can be integrated in your web ...
comes with support for Python and C/++,
it has a domain for Ruby in the contrib area or here,
there is a Java domain, here, and
can be extended for other language parsing, to add bash to the list if you cannot find an extension should be trivial.
Note that the terminal is not preprocessing the output in any way. These escape sequences are moving the cursor and overwriting the word "exit".
$ echo -e 'exit\x1b[4D\x1b[Jshow myself out'
show myself out
$ echo -e 'exit\x1b[4D\x1b[Jshow myself out' | od -c
0000000 e x i t 033 [ 4 D 033 [ J s h o w
0000020 m y s ...