Home Explore Blog CI



nushell

1st chunk of `blog/2021-03-09-nushell_0_28.md`
a4a05acf2a4777b68729fa6fb2a76430be82e04d667c68980000000100001334
---
title: Nushell 0.28
author: The Nu Authors
author_site: https://twitter.com/nu_shell
author_image: https://www.nushell.sh/blog/images/nu_logo.png
excerpt: Today, we're releasing 0.28 of Nu. In this release we've added new commands for working with tables, paths, and lots of general feature improvements.
---

# Nushell 0.28

Nushell, or Nu for short, is a new shell that takes a modern, structured approach to your commandline. It works seamlessly with the data from your filesystem, operating system, and a growing number of file formats to make it easy to build powerful commandline pipelines.

Today, we're releasing 0.28 of Nu. In this release we've added new commands for working with tables, paths, and lots of general feature improvements.

<!-- more -->

# Where to get it

Nu 0.28 is available as [pre-built binaries](https://github.com/nushell/nushell/releases/tag/0.28.0) or from [crates.io](https://crates.io/crates/nu). If you have Rust installed you can install it using `cargo install nu`.

If you want all the goodies, you can install `cargo install nu --features=extra`.

If you'd like to try the experimental paging feature in this release, you can install with `cargo install nu --features=table-pager`.

As part of this release, we also publish a set of plugins you can install and use with Nu. To install, use `cargo install nu_plugin_<plugin name>`.

# What's New

## New commands

### Rotate (andrasio)

With the new `rotate` command, we have an easier way to turn rows to columns and columns to rows.

```
> echo [[col1, col2, col3]; [cell1, cell2, cell3] [cell4, cell5, cell6]] | rotate
───┬─────────┬─────────┬─────────
 # │ Column0 │ Column1 │ Column2
───┼─────────┼─────────┼─────────
 0 │ cell4   │ cell1   │ col1
 1 │ cell5   │ cell2   │ col2
 2 │ cell6   │ cell3   │ col3
───┴─────────┴─────────┴─────────
```

You can also rotate counter-clockwise:

```
> echo [[col1, col2, col3]; [cell1, cell2, cell3] [cell4, cell5, cell6]] | rotate counter-clockwise
───┬─────────┬─────────┬─────────
 # │ Column0 │ Column1 │ Column2
───┼─────────┼─────────┼─────────
 0 │ col3    │ cell3   │ cell6
 1 │ col2    │ cell2   │ cell5
 2 │ col1    │ cell1   │ cell4
───┴─────────┴─────────┴─────────
```

### Column rolling (andrasio)

You are now able to move columns around in the same way you may do a bitwise-rotate.

```
> echo '00000100'
| split chars
| each { str to-int }
| rotate counter-clockwise _
| reject _
| rename bit1 bit2 bit3 bit4 bit5 bit6 bit7 bit8
| roll column 3

───┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────
 # │ bit4 │ bit5 │ bit6 │ bit7 │ bit8 │ bit1 │ bit2 │ bit3
───┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────
 0 │    0 │    0 │    1 │    0 │    0 │    0 │    0 │    0
───┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────
```

### Dropping columns (andrasio)

The new `drop column` subcommand also gives you the ability to remove the last column from a table.

```
> echo [[lib, extension]; [nu-core, rs] [rake, rb]] | drop column
─────────
   lib
─────────
 nu-core
 rake
─────────
```

### ANSI strip (fdncred)

With the new [`ansi strip` command](https://github.com/nushell/nushell/pull/3095), you can remove ansi sequences from a string of text.

### Path joining (kubouch)

We now have a `path join` command which allows you to join part of a path to an existing path following the path conventions for your platform.

For example, on Windows:

```
> echo 'C:\Users\viking' | path join spam.txt
```

Or Unix-based systems:

```
> echo '/home/viking' | path join spam.txt
```

## Functionality

### (Experimental) Built-in table paging (rezural)

If you build Nushell with the optional `--features=table-pager` you'll see some new capabilities we're working on that will let you [view a table with a built-in pager](https://github.com/nushell/nushell/pull/3128).

In the future, we'll likely move this to its own command so that you can enable paging in much the same way you would use `less` in other shells.

Let us know how this works for you.

Title: Nushell 0.28 Release: New Commands and Functionality
Summary
Nushell 0.28 is released with new commands like `rotate`, `roll`, `drop column`, `ansi strip`, and `path join`. It also includes an experimental built-in table paging feature that can be enabled during the build process. The release provides improvements for working with tables, paths, and general functionality.