В ответ на Elad у людей могут быть файлы .bash_history, которые имеют дополнительную строку перед каждой командой, начинающейся с (#) и заканчивающейся последующими цифрами (123456789), например: # 123456789. Если в вашем файле bash_history есть эти дополнительные строки, используйте эту модифицированную версию кода Elad для обработки чистой истории, отформатированной в zsh. Спасибо Elad за быстрый перевод кода.
/*
* You should backup your .bash_history file first doing this:
* $ cp ~/.bash_history ~/.bash_history.backup
*
* create the .js file to use first:
* $ touch ~/.bash-history-to-zsh-history.js
*
* This is how I use it based on Elads example:
* $ node ~/.bash-history-to-zsh-history.js >> ~/.zsh_history
*
**/
var fs = require("fs");
var a = fs.readFileSync(".bash_history");
var time = Date.now();
a.toString().split("\n").forEach(function(line){
if (line.indexOf("#")!=0) console.log(": "+ (time++) + ":0;"+line);
});