次の例を含む cve.txt ファイルがあります。
delta.x
alpha.tri
blue.zia
文字列をその点まで切り取り、次のように配置したいと思います。
delta.x|delta
答え1
$ awk -F. '{ print $0"|"$1}' input
delta.x|delta
alpha.tri|alpha
blue.zia|blue
awk
フィールド区切り文字が何であるかを知らせ、説明された.
簡単な説明でprint
出力を組み合わせます。$0
は入力ラインであり、$1
は最初のフィールドです(つまり、最初のフィールドより前のすべて.
)。
答え2
sed方法:
sed 's/\([^.]*\)\.[^.]*/&|\1/' file
出力:
delta.x|delta
alpha.tri|alpha
blue.zia|blue
答え3
cut
あなたが解決策を求めたので:
paste -d\| input <(cut -d\. -f1 input)