簡體   English   中英

如何在sed語句中使用剪切

[英]How to use a cut in a sed statement

我有這個sed聲明:

#!/bin/bash

find . -type f ! -name 'checkData' ! -name 'correctData' ! -name 'makeStructure' -exec sed -i "1{s|.*|{}|;s|.*/testarea/||;s|/[^/]*$||;s/[/]/-/g;}" {} \;

目前,它正在完全滿足我的需要,但是沒有以我想要的格式顯示日期:

2000年1月18日

返回日期為

。 - 2000年1月18日

我一直在嘗試找出我需要更改哪一部分以擺脫.-的問題,但是我運氣並不好。
有沒有辦法只從結果中切除前兩個字符?

提前致謝!

我認為您將希望在您的find命令中使用basename

find . -type f ! -name 'checkData' ! -name 'correctData' ! -name 'makeStructure' \
-exec basename {} \; | \
sed -i "1{s|.*|{}|;s|.*/testarea/||;s|/[^/]*$||;s/[/]/-/g;}"

這應該在文件名開頭刪除./

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM