簡體   English   中英

用於在ms dos或cygwin下搜索docx文件的命令行工具

[英]Command line tool to search docx file under ms dos or cygwin

是否有一個命令行工具能夠在ms dos或cygwin下搜索docx文件?

我已經嘗試過grep,但無法與docx一起使用,而與txt文件一起正常工作。

我知道我總是可以將docx轉換為txt,然后使用grep進行搜索,但是我想知道

有可以直接在命令行下搜索的命令工具嗎?

謝謝

我寫了一個小的bash腳本,它將幫助您:

#!/bin/bash
export DOCKEY="$@"

function searchdoc(){
 VK1=$(cat "$@" | grep -i "$DOCKEY" | wc -c)
 VK2=$(unzip -c "$@" | grep -i "$DOCKEY" | wc -c)
 let NUM=$VK1+$VK2
 if [ "$NUM" -gt 0 ]; then
  echo $NUM occurences in $@
  echo opening file. 
  gnome-open "$@"
 fi
}

export -f searchdoc
echo searching for $DOCKEY ...
find . -exec bash -c 'searchdoc "{}" 2>/dev/null' \;

將其另存為docfind.sh即可調用

 $#> docfind.sh searchterm

從您要掃描的任何文件夾。

在嘗試了這些東西之后,我發現最簡單的方法是使用linux實用程序將所有docx文件批量轉換為txt文件,然后對這些txt文件輕松進行grep。

將其另存為docfind.sh即可調用

像我這樣的新手可能需要被告知,要使.sh腳本可從任何目錄執行,它都需要設置可執行文件屬性,並位於/ usr / bin或Path的其他位置。

我能夠在Linux Mint中設置nemo文件管理器,以從任何文件夾的上下文菜單打開終端( 信息在此處 )。

zgrep可能適合您? 它通常可以在OpenOffice文檔中使用,並且都是包含XML的壓縮檔案:

zgrep "some string" *.xdoc

我沒有.xdoc文件可以對此進行測試,但從理論上講,它應該可以工作...

您可以使用zipgrep,它在zip歸檔文件的所有文件(docx文件是該文件)上調用grep。 但是,您可能會對結果感到失望,因為它返回包含文本和XML標記的XML文件的原始內容。

暫無
暫無

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

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